반응형
파이썬 Flask 에서 JWT사용
- flask-jwt-extended 라이브러리를 우선 설치한다.
pip install flask-jwt-extended
ㄴ 참고 사이트: https://flask-jwt-extended.readthedocs.io/en/latest/options/
- 해당 라이브러리는 다음 3개의 기능을 제공한다.
create_access_token() @jwt_required(optional=False): 무조건 토큰 필요. optional = True로 하면 상관 없다는 뜻 get_jwt_identity() |
- 파일 config.py를 만들어서 JWT에 관련한 코드를 관리해주는 것이 나중을 위해서라도 편리하다.
- configuration: 환경설정한다는 뜻, 환경설정한다는 뜻
- 해당 파일에서 작성할 코드는 하기와 같다.
class Config: JWT_SECRET_KEY = 'yhacademy1029##hello' JWT_ACCESS_TOKEN_EXPIRES = False PROPAGATE_EXCEPTIONS = True # 메뉴얼에 있다. |
JWT_SECRET_KEY
ㄴ Seed값
ㄴ 각각 유추하기 힘든 문자열로 구성해준다. 해당 키가 노출되면 해킹당할 위험이 현저히 올라간다.
JWT_ACCESS_TOKEN_EXPIRES = False
ㄴ False로 설정하면, 토큰의 유효기간이 없어진다. 보안이 취약해지며, 해킹의 위험성이 있으므로, 가급적이면 피하는 것이 좋다.
ㄴ True로 설정할 경우, 기본값: 30일
PROPAGATE_EXCEPTIONS
ㄴ 명시적으로 예외를 전파하는 것에 대한 활성화 혹은 비활성화 함. 이 값을 특별히 설정을 안하거나 명시적으로 None으로 설정했을 경우라도 Testing 혹은 Debug가 true라면 이 값 역시 true가 된다.
- API서버를 구축하기 위한 메인 파일인 app.py에서 작성할 코드는 하기와 같다.
from flask import Flask from flask_jwt_extended import JWTManager from flask_restful import Api from config import Config app = Flask(__name__) # 환경 변수 셋팅 app.config.from_object(Config) # JWT 토큰 라이브러리 만들기 jwt = JWTManager(app) |
- JWTManager: JWT토큰이 유효한지 관리해주는 라이브러리
- app을 넣어주고,관리하라고 하는 것
반응형
'BackEnd > Python-Flask' 카테고리의 다른 글
[백엔드] Flask: JWT token으로 코드 짜기 (0) | 2022.07.02 |
---|---|
[백엔드] Flask: 로그인 API (0) | 2022.07.02 |
[백엔드] Flask: 비밀번호 처리 : 비밀번호 로그인 체크 (0) | 2022.07.01 |
[백엔드] Flask: 비밀번호 처리 : 비밀번호 암호화 (0) | 2022.07.01 |
[백엔드] Flask: 터미널에 API 진행상황이 안나올 때 (0) | 2022.06.27 |