일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Streamlit기초
- 안드로이드 앱 개발
- JavaScript
- 자바
- 자바초보
- Streamlit기본
- 자바기초
- 판다스공부
- MySQL
- 파이썬공부
- 웹대시보드 제작
- Matplotlib 기초
- 스트림릿 기본
- RESTful API
- serverless
- 판다스
- java
- 파이썬
- 웹대시보드 기초
- Pandas
- 자바공부
- 자바스크립트 공부
- 스트림릿
- 자바프로그래밍
- streamlit
- 데이터베이스
- 자바스크립트
- Android
- db
- 안드로이드 스튜디오
- Today
- Total
목록Python Flask (17)
ruriruriya
AWS Lambda는 아마존 웹 서비스(AWS)의 컴퓨팅 서비스 중 하나로, 서버리스 컴퓨팅을 제공하는 플랫폼이다. 이는 애플리케이션을 개발하고 실행할 때 서버 관리에 대한 부담을 줄여준다. 1. S3 스토리지 연결 AWS 콘솔에서 S3으로 접속하여 해당 버킷의 이미지를 클릭한다. 그리고 이미지 객체 URL을 이미지 이름 빼고 복사해둔다. config 파일에서 S3 버킷 이름과, 이미지 객체 URL을 복사해서 넣는다.(이미지 이름을 뺀 URL) 2. MySQL DB 연결 MySQL workbench에 접속해서 해당 유저에 오른쪽 마우스를 클릭해서 Edit Connection 으로 접속한다. Host name과 User name을 복사해둔다. config.py에 아래와 같이 입력한다. HOST = host..
JWT 토큰을 사용하다 보면 회원가입한 유저에게도, 회원가입하지 않은 일반 유저에게도 보여주고 싶은 API가 있다. 로그인 여부 상관없이 API 이용할 수 있는 설정 방법을 알아보자. 1. optional= 파라미터 설정 get 함수가 시작되기 전에 @jwt_required() 함수를 사용하는데 그 함수 안에 optional= 파라미터 값을 True로 하면 로그인 여부 상관없이 모두가 이용 가능한 서비스가 된다. from flask import request from flask_jwt_extended import create_access_token, get_jwt, get_jwt_identity, jwt_required from flask_restful import Resource from mysql_c..
회원가입/로그인/로그인 토큰 유효기간 설정까지 해보았다. 이제는 발급된 JWT로 해당 유저의 로그아웃을 해보자. 1. app.py 설정 JWT 매니저를 변수에 넣어 초기화한다. 그리고 아래 로그아웃 시 실행되지 않도록 하는 코드를 추가한다. @jwt.token_in_blocklist_loader def check_if_token_is_revoked(jwt_header, jwt_payload) : jti = jwt_payload['jti'] return jti in jwt_blocklist from flask import Flask from flask_jwt_extended import JWTManager from flask_restful import Api from config import Config ..
JWT로 회원가입해서 토큰을 생성하고 로그인할 때 토큰을 발급 받아서 Header에 넣어 실행을 해보았다. 하지만, 요즘 서비스들을 보면 보안 이슈로 로그인 후 일정 시간이 지나면 자동으로 로그아웃이 되어버린다. 로그인 후 토큰 만료 기간을 설정해보자. 1. api 클래스 내의 함수 수정 토큰 생성 후 클라이언트에게 응답 시 함수에서 파라미터 expires_delta= 를 추가하여 날짜/시/분/초를 입력하여 유효기간을 설정한다. access_token = create_access_token(result_list[0]['id'], expires_delta= datetime.timedelta(minutes=2)) from flask import request from flask_jwt_extended imp..
JWT란 JSON Web Token의 약자로, JSON포맷으로 구성된 경량의 토큰으로, 정보를 안전하게 전달하기 위해 사용된다. JWT는 클라이언트와 서버 간의 정보를 주고받을 때 사용자의 인증과 관련된 정보를 토큰으로 안전하게 전송하고 그 토큰으로 로그인 상태를 유지하는 등에 쓰인다. JWT의 장점 토큰 자체에 정보를 담고 있어서 서버에 따로 상태를 유지할 필요가 없다. 토큰을 사용하여 토큰이 변조되지 않았음을 쉽게 확인할 수 있다. 회원가입 API에서 JWT 토큰 발급 1. 사용자 정보 입력 사용자가 회원가입 양식을 작성하고 필요한 정보를 입력 from flask import request from flask_jwt_extended import create_access_token from flask_..
1. RESTful API Flask에 JWT 설치하는 방법 해당 가상환경에서 아래 명령어로 설치한다. pip install Flask-JWT-Extended 2. Config.py 파일 변수 세팅 설치 후에 Config.py 파일에서 JWT관련 변수를 세팅한다. * Config는 설정(configuration)을 의미하며, 프로그램이나 시스템의 동작을 제어하기 위해 사용되는 값들의 집합이다. 이 설정들은 소프트웨어나 하드웨어의 특정 기능이나 동작을 조정하거나 사용자의 요구에 맞게 조절할 수 있도록 도와준다. class Config : ### JWT 관련 변수 세팅 JWT_SECRET_KEY = 'helloskkels##fffssfs' JWT_ACCESS_TOKEN_EXPIRES = False PROPA..
API 리소스 클래스에서 함수를 만들고 쿼리문을 넣을 때 쿼리문의 컬럼 매칭 %s가 1개라면 record에서 튜플에서 1개만 작성하게 된다. 여기서 주의 할 점은 튜플 1개일 때 뒤에 콤마(,)를 붙여주지 않으면 튜플 괄호가 없어지니 반드시 콤마(,) 붙여주는 것이다. 콤마(,)가 없어도 실행은 되지만 에러코드는 보여주지 않아 에러가 아닌 버그가 된다. 이렇게 튜플의 특성을 파악하고 확인하여 버그를 방지 하자. record =(recipe_id, ) from flask import request from flask_restful import Resource from mysql_connection import get_connection from mysql.connector import Error class..
경로에 숫자가 들어가 계속 변하는 경우라면 경로에 변수 처리를 해줘야 한다. 숫자가 들어가는 경로에 이렇게 입력하면 되는데 숫자니까 이렇게 쓰면 클라이언트가 숫자를 바꿔 입력할 때마다 값을 다르게 가져올 수 있다. from flask import Flask from flask_jwt_extended import JWTManager from flask_restful import Api # 기본 구조 app = Flask(__name__) api = Api(app) # 경로(path)와 리소스(API 코드)를 연결한다. api.add_resource(RecipeListResource,'/recipes') api.add_resource(RecipeResource,'/recipes/') # /recipes/레시..