python JWTManager 黑名单销毁token
时间: 2023-05-14 16:05:53 浏览: 323
JWTManager 可以通过设置黑名单来销毁 token。在 Python 中,可以使用 Flask-JWT-Extended 库来实现 JWTManager。具体实现方法如下:
1. 在 Flask 应用中初始化 JWTManager:
```python
from flask_jwt_extended import JWTManager
app = Flask(__name__)
app.config['JWT_SECRET_KEY'] = 'your-secret-key'
jwt = JWTManager(app)
```
2. 在需要销毁 token 的地方,将 token 加入黑名单:
```python
from flask_jwt_extended import get_raw_jwt
@jwt.token_in_blacklist_loader
def check_if_token_in_blacklist(decrypted_token):
jti = decrypted_token['jti']
return jti in blacklist
blacklist = set()
def revoke_token(jti):
blacklist.add(jti)
@jwt.revoked_token_loader
def handle_revoked_token():
return jsonify({'msg': 'Token has been revoked'}), 401
# 在需要销毁 token 的地方调用 revoke_token(jti)
```
这样,当用户使用被加入黑名单的 token 访问需要认证的路由时,会返回 401 错误,并提示 token 已被销毁。
阅读全文