Python/Flask
로그아웃 시키는 방법
mugoori
2023. 1. 5. 16:02
# 먼저 포스트맨에서 로그아웃 API를 만들어준다
메소드는 포스트로 주소를 만들어주고 헤더에 로그인에 사용된 토큰을 넣어준다
# 로그아웃된 토큰을 저장할 set 만든다.
jwt_blacklist = set()
from flask_jwt_extended import get_jwt
class UserLogoutResource(Resource) :
@jwt_required()
def post(self) : # 로그아웃
jti = get_jwt()['jti']
jwt_blacklist.add(jti)
return {'result':'success'}, 200
# 먼저 블랙리스트라는 비어있는 셋을 하나 만들어준다
클래스를 하나 만들고 로그아웃하는 코드를 써준다
이렇게하면 로그아웃은 되지만 토큰은 사용이 되므로 로그아웃된 토큰을 사용하지 못하게 처리해야한다
# 로그아웃된 토큰으로 요청하는 경우 처리하는 코드작성
from resources.user import jwt_blacklist
@jwt.token_in_blocklist_loader
def check_if_token_is_revoked(jwt_header, jwt_payload) :
jti = jwt_payload['jti']
return jti in jwt_blacklist
# 위의 코드를 사용해 로그아웃된 토큰을 사용하지 못하게 처리한다