flask_jwt_extended 主动销毁token 写一个例子给我
时间: 2023-05-19 18:01:56 浏览: 171
当用户注销或者需要退出登录时,我们需要主动销毁token,以保证用户的安全性。下面是一个使用 flask_jwt_extended 库实现主动销毁token的例子:
```python
from flask import Flask
from flask_jwt_extended import JWTManager, jwt_required, create_access_token, get_jwt_identity, unset_jwt_cookies
app = Flask(__name__)
app.config['JWT_SECRET_KEY'] = 'super-secret' # 设置JWT的密钥
jwt = JWTManager(app)
@app.route('/login', methods=['POST'])
def login():
# 用户登录成功后,生成token并返回给客户端
access_token = create_access_token(identity='user_id')
return {'access_token': access_token}
@app.route('/logout', methods=['POST'])
@jwt_required() # 需要登录才能访问
def logout():
# 主动销毁token
unset_jwt_cookies()
return {'message': 'Logged out successfully'}
if __name__ == '__main__':
app.run()
```
在上面的例子中,我们定义了两个路由:`/login` 和 `/logout`。当用户登录成功后,`/login` 路由会生成一个token并返回给客户端。当用户需要退出登录时,`/logout` 路由会主动销毁token,以保证用户的安全性。
需要注意的是,在 `/logout` 路由中,我们使用了 `unset_jwt_cookies()` 方法来主动销毁token。这个方法会清除客户端的token,使其失效。
相关推荐















