前言
JSON Web Token(JWT)是一个非常轻巧的规范。jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目。
python 中 pyjwt 是一个独立的包,flask 的插件集成了该功能可以使用 flask-jwt-extended 插件来实现。
环境准备
环境准备,需用到的包
flask
flask-restful
flask-jwt-extended
passlib
flask-sqlalchemy
flask-jwt-extended官网https://flask-jwt-extended.readthedocs.io/en/latest/
认证方案Json Web Token(JWT)
jwt 的生成 token 格式如下,即:由 . 连接的三段字符串组成, 分别是header、payload、Signature
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTY2MTk0MzE5NCwianRpIjoiNGIwOWNmMWItNzYzZS00NWQyLWI2N2QtNDY0ZWQxODVkYmIxIiwidHlwZSI6ImFjY2VzcyIsInN1YiI6InRlc3Q1IiwibmJmIjoxNjYxOTQzMTk0LCJleHAiOjE2NjE5NDY3OTR9.EgBPLNfZ34fLGngjLj5HhjHowUN5UsZXvzfqQs_MkMk
HEADER 部分,固定包含算法和 token