개발학습일지

[Restful API] Flask에서 JWT 사용 _ 5. 토큰 유효기간 만드는 방법 본문

Restful API

[Restful API] Flask에서 JWT 사용 _ 5. 토큰 유효기간 만드는 방법

처카푸 2024. 5. 24. 14:49

Flask에서 JWT 사용해서 토큰 유효기간 만들어 토큰 만료시키는 방법

 

. confing.py JWT 변수 세팅하는 곳을 수정한다.

- JWT_ACCESS_TOKEN_EXPIRES = False 를 True로 바꿔준다 _인증토큰 만료를 설정하는 곳

    # JWT 관련 변수 셋팅
    JWT_SECRET_KEY = '보안키'
    # 인증토큰 만료
    JWT_ACCESS_TOKEN_EXPIRES = True
    PROPAGATE_EXCEPTIONS = True

 

2. 유저 토큰이 생성되는 곳으로 가서 파라미터를 넣어주면 된다.

- expries_delta =  는 인증토큰 만료 시간 주는 파라미터이다.

- 토큰을 생성하는 회원가입API와 로그인 API 모두 작성해 준다.

access_token = create_access_token(user_id, 
                                   expires_delta=datetime.timedelta(minutes=3))

 

3. 로그아웃한 토큰으로 재 로그인이 안되도록 app.py에 코드 작성해줘야 한다.

- 로그아웃된 토큰으로 요청하는 경우, 처리하는 함수이다.

@jwt.token_in_blocklist_loader
def check_if_token_is_revoked(jwt_header, jwt_payload):
    jti = jwt_payload['jti']
    return jti in jwt_blacklist

 

 

4. 포스트맨에서 설정한 시간 뒤에 했을 때 로그인 안되는지 확인한다.

- 토큰 만료 메시지가 나오면 잘되어 있는 것이다.

토큰 만료