Restful API
[Restful API] 로그아웃 API 만드는 방법
dong_su
2023. 12. 7. 18:03
from resources.user import jwt_blocklist
# 로그아웃된 토큰으로 요청하면, 실행되지 않게 처리하는 코드
@jwt.token_in_blocklist_loader
def check_if_token_is_revoked(jwt_header, jwt_payload) :
jti = jwt_payload['jti']
return jti in jwt_blocklist
-> 첫 실행 파일인 app.py 파일에 작성한다.
from flask_jwt_extended import get_jwt, jwt_required
jwt_blocklist = set()
class UserLogoutResource(Resource) :
@jwt_required()
def delete(self) :
jti = get_jwt()["jti"]
jwt_blocklist.add(jti)
return {"result" : "success"}, 200
-> @jwt_required() = 로그아웃을 하려면 로그인이 되어있어야 하니까 토큰이 있어야 실행 가능하게 만든 것이다.
-> Postman에서 실행시 로그아웃이 잘 된 모습이다.
-> 한번 더 실행하면 토큰이 없기 때문에 에러가 뜬다. 제대로 작동한 모습이다.