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๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํ์๊ธฐ ๋๋ฌธ์!)
'RestFul API' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
RestFul API๋ฅผ Serverless Framework๋ก ์ฐ๊ฒฐํ๊ธฐ (0) | 2024.05.23 |
---|---|
JWT ์ธ์ฆ ํ ํฐ์ ๋ก๊ทธ์ธ ๋ง๋ฃ ์๊ฐ ์ค์ ํ๊ธฐ (0) | 2024.05.22 |
JWT(์๋ฐฉํฅ) ์ํธํ ๋ก๊ทธ์ธ API ๋ง๋ค๊ธฐ (0) | 2024.05.22 |
JWT ์ํธํ(์ธ์ฆํ ํฐ) ์ฌ์ฉํ์ฌ ํ์๊ฐ์ API์ ์ ์ฉํ๊ธฐ (0) | 2024.05.22 |
MySQL DB์ Postman์ ์ฐ๋ํ์ฌ ํ์๊ฐ์ API ๋ง๋ค๊ธฐ (0) | 2024.05.22 |