🔐 JWT(JSON Web Token)是一种用于在网络通信中传递信息的开放标准。它由三个部分组成,分别是头部(Header)、负载(Payload)和签名(Signature)。
📑 头部包含了关于令牌的元数据,如加密算法和令牌类型。
📄 负载是JWT中存储的实际数据,可以包含用户的身份信息或其他相关信息。
🔏 签名用于验证令牌的真实性和完整性,确保令牌未被篡改。
📲 JWT可以被用于跨域认证和授权,通过在用户请求中携带JWT令牌,服务器可以验证并识别用户身份,进行相应的访问控制。
💪 JWT具有可扩展性和自包含性,由于令牌本身包含了必要的信息,使得服务器不需要维护会话状态,从而提高了性能和可伸缩性。
🌐 JWT已经广泛应用于Web应用程序和API的安全领域,被认为是一种轻量级和可靠的身份验证和授权解决方案。
◎ RFC 7519 - JSON Web Token (JWT)
JWT原理流程图:
参考:
JSON Web Token 入门教程 - 阮一峰的网络日志 | https://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html
理解OAuth 2.0 - 阮一峰的网络日志 | https://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
基于 JWT + Refresh Token 的用户认证实践 - 知乎 | https://zhuanlan.zhihu.com/p/52300092
JWT认证登陆,通过token和refreshToken达到前端无感刷新! - 掘金 | https://juejin.cn/post/7139831742411571237
axios如何利用promise无痛刷新token - 掘金 | https://juejin.cn/post/6844903925078818829
vue-admin-template/src/utils/request.js | https://github.com/PanJiaChen/vue-admin-template/blob/master/src/utils/request.js
JWT refreshtoken 实践 | https://www.codercto.com/a/72983.html
JWT认证 | https://pythondjango.cn/django/rest-framework/7-jwt-token-authentication/
Django之JWT库与SimpleJWT库的使用 - 掘金 | https://juejin.cn/post/7262745726965792826
django基于rest_framework_simplejwt实现token认证 - 掘金 | https://juejin.cn/post/7126669927234142238
django jwt token认证中rest_framework_jwt的refresh token有效期 | https://blog.csdn.net/hhhhh11/article/details/108527570
Django JWT认证实现simplejwt authenticate | https://blog.csdn.net/hekaiyou/article/details/108982390
Flask中实现JWT认证-token-refresh | https://blog.csdn.net/weixin_42289273/article/details/116941397
https://github.com/nevertheless-good/fastapi-jwt-auth-server/blob/master/app/auth/authenticate.py
前后端利用accessToken与refreshToken无感刷新 - CodeAntenna | https://codeantenna.com/a/qmxcRncdSF
JWT 与 access_token、refresh_token - 掘金 | https://juejin.cn/post/7144175992729239582
实现无感刷新token我是这样做的 - 掘金 | https://juejin.cn/post/6983582201690456071