Flask

Flask 에서 API 라이브러리 JWT 사용하는 방법

yugyeong 2023. 1. 5. 11:09

라이브러리 설치

$ pip install flask-jwt-extended

 

라이브러리 호출

from flask_jwt_extended import create_access_token

 

토큰화하는 방법

create_access_token 를 이용하여서 토큰화를 한다.

create_access_token(user_id)
>>> pbkdf2-sha256$29000$RKi1du69V6r1fg8hRGgNwQ$Zq...

 

  • 토큰의 기간 제한을 설정 ( expires_delta 파라미터 이용 )
    • create_access_token(user_id, expires_delta = datetime.timedelta(hours = N)
      • N 시간만큼 토큰을 유지, 설정한 시간이 지나면 토큰이 유효하지 않게 됨
      • minutes - 분 , housr - 시간, days - ~일
      • 시간 설정을 하려면 datetime 라이브러리를 호출해야 함

 

 

JWT 관련 변수 셋팅

config.py 파일에서 jwt  관련 변수를 셋팅 해준다.

# JWT 관련 변수 셋팅
    JWT_SECRET_KEY = 'testsecretkeysetting'
    JWT_ACCESS_TOKEN_EXPIRES = False
    PROPAGATE_EXCEPTIONS = True

 

app.py 메인 파일로 돌아와서, 

환경 변수 셋팅 코드 아래에 jwt 매니저 초기화를 하는 코드를 넣어준다.

 

from flask_jwt_extended import JWTManager

# 환경변수 셋팅
app.config.from_object(Config)

# JWT 매니저 초기화
jwt = JWTManager(app)