군침이 싹 도는 코딩

로그아웃 시키는 방법 본문

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

# 위의 코드를 사용해 로그아웃된 토큰을 사용하지 못하게 처리한다