PYTHON+AI LLM DAY NINTY-SEVEN

PYTHON+AI LLM DAY NINTY-SEVEN 今天简单聊聊JWT.WT全称 JSON Web Token是目前非常流行的一种基于 JSON 的开放标准RFC 7519主要用于在各方之间安全地传输信息。通俗地讲它就像是互联网应用中的“数字通行证”。类似于网络世界的身份证.当用户登录成功后服务器会颁发一个 JWT 给客户端。之后客户端每次请求受保护的资源时只需带上这个令牌服务器验证令牌有效即可放行而无需再次查询数据库验证用户名和密码.它由三部分组成 Header头部包含令牌的元数据主要说明这个 Token 的类型JWT以及使用的签名算法如 HMAC SHA256 或 RSA。Payload载荷这是真正存放有效数据的地方。里面包含了一系列声明Claims比如用户的 ID、角色、过期时间等。需要注意的是这部分通常只是经过 Base64 编码并没有加密所以不要在里面放密码等敏感信息。Signature签名用于验证消息在传递过程中没有被篡改。它是将 Header、Payload 以及服务器端保存的“密钥Secret”通过指定的算法计算出来的。如果黑客篡改了 Payload 里的内容但没有密钥就无法生成正确的签名服务器验证时就会拒绝该请求。无状态Stateless这是 JWT 最大的特点。服务器不需要在内存或数据库中保存 Session 状态所有的用户信息都包含在 Token 本身中。这使得应用非常容易进行水平扩展增加服务器节点。跨域/跨语言友好因为 JWT 本质上是 JSON 格式所以天然支持跨域请求CORS并且非常容易在不同编程语言和平台之间传递。移动端适配相比于传统的 Cookie-Session 机制JWT 在移动端和原生应用中更容易实现和管理.在微服务架构中一个用户请求可能会经过网关Gateway以及多个内部微服务。原理网关负责验证 JWT验证通过后会将 JWT 透传给后端的各个微服务。优势后端微服务无需重复连接数据.WT 还可以用来生成安全的、带时效性的临时凭证。原理当用户请求下载一个私密文件时服务器生成一个包含“文件ID”和“过期时间”的 JWT 作为下载链接的参数。优势这个链接可以在一定时间内有效过期后自动失效且链接中的信息如文件ID无法被篡改防止了恶意用户伪造链接下载他人文件。