DRF JWT认证(一).doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
JSON Web Token (JWT) 是一种基于 JSON 的开放标准(RFC 7519),用于在网络应用环境中安全地传输声明。JWT 特别适用于分布式站点的单点登录(SSO)场景,因为它允许服务提供商和身份提供者之间传递经过验证的用户身份信息,而无需频繁查询数据库。 **为什么使用 JWT 认证?** 传统的 Session 认证机制需要在服务器端存储用户状态,随着用户数量的增加,服务器负担加重,频繁的数据库查询可能导致效率低下。JWT 提供了一种轻量级的解决方案,它将认证信息编码在令牌中,存储在客户端,减少了服务器端的压力。同时,由于 JWT 的签名机制,可以确保数据的安全性。 **JWT 构成和工作原理** JWT 由三个部分组成:Header(标头)、Payload(有效载荷)和Signature(签名)。 1. **Header** Header 通常是一个 JSON 对象,包含了令牌的类型(`typ`,通常是 JWT)和签名算法(`alg`,如 HMAC SHA256,表示 HS256)。这个 JSON 对象通过 Base64URL 算法编码成字符串,成为 JWT 的第一部分。 2. **Payload** Payload 是 JWT 的主体,也是 JSON 对象,用于存放有效信息。它包含三类声明: - 标准注册声明:如签发者(`iss`)、面向用户(`sub`)、接收方(`aud`)、过期时间(`exp`)、不可用时间(`nbf`)、签发时间(`iat`)和唯一标识(`jti`)。 - 公共声明:非强制性,但建议避免敏感信息。 - 私有声明:由提供者和消费者共同定义,不应包含敏感数据。 3. **Signature** Signature 是通过将 Header 和 Payload 分别 Base64URL 编码后用句点(.)连接,然后用 Header 中指定的算法(如 HS256)对这个连接串和一个保密的密钥进行签名。这确保了 JWT 的完整性和防篡改性。 **JWT 的签发与校验** - **签发**:当用户通过账号、密码和设备信息登录时,服务器会生成一个 JWT,其中包含用户的认证信息,并签名。 - **校验**:客户端携带 JWT 发送请求时,服务器会解码 JWT 并验证签名,以确认用户身份并反解出用户对象。 **JWT 的种类** JWT 分为两种类型: - Nonsecure JWT:没有签名,只用于测试和演示,安全性较低。 - JWS(JSON Web Signature):具有签名,可以验证数据的完整性和来源,适用于生产环境。 **Base64 编码与解码** 在 JWT 中,Header 和 Payload 都是通过 Base64URL 算法编码的,这是一种安全的变体,用于消除 URL 中可能出现的字符问题,保证了 JWT 在网络传输过程中的安全。 总结来说,JWT 提供了一种高效且安全的身份认证方式,它简化了服务器的负载,增强了系统的可扩展性。在 Django Rest Framework(DRF)中,JWT 认证是实现 API 安全访问的常见方法,能够帮助开发者构建可靠的微服务架构。
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/release/download_crawler_static/85994194/bg1.jpg)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 1
- 资源: 2837
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 串口制作.zip
- 基于JavaScript的简易校园二手电子产品交易网站设计源码
- 常用集成时序逻辑器件及应用.zip
- 单片机课件.zip
- 基于若依框架的Java+Shell脚本驱动的江财停车场管理系统设计源码
- 单片及的综合技术应用.zip
- 电磁波实验指导书.zip
- 基于Springboot+MybatisPlus的垃圾分类志愿活动网站后端设计源码
- 基于Matlab的欧拉离散化算法研究与应用设计源码
- 电感线圈的简易制作.zip
- 电力电子实验指导书.zip
- 电工基础-重要.zip
- 电机控制专用集成电路+(PDF格式).zip
- 电压电阻转换模块.zip
- 电子基础实训的几个实验.zip
- 电子元件基础教程.zip
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)