RestFul API

JWT(JSON WEP TOKEN) 암호화 로그아웃 API 만들기

567Rabbit 2024. 5. 22. 16:50

 

user.py에 추가하기

 

from flask_jwt_extended import get_jwt, jwt_required

 

# 로그아웃된 토큰을 저장할, set을 만든다
jwt_blacklist = set()

class UserLogoutResource(Resource) :
    
    @jwt_required()
    def delete(self) :
        
        jti = get_jwt()['jti']
        jwt_blacklist.add(jti)
        return

 

 

 

 

 

app.py에 추가하기

 

from resource.user import UserLogoutResource

api.add_resource( UserLogoutResource, '/user/logout')
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

 

 

- 아래 사진과 같은 위치에 추가해야 한다

 

 

 

 

 

 

로그인했던 토큰 복사

 

 

 

 

 

 

 

 

 

Postman에서 로그아웃 API 만들어서 Headers 부분에 작성

 

 

 

 

 

 

 

 

로그아웃한 토큰으로 API를 사용하려고 하면 거절한다 (로그인 해야 API를 사용할 수 있도록 설정하였기 때문에!)