1.JWT任务描述与技术分析
2.不用担心token被篡改,它是加密的。
3.JWT认证流程
4.JWT结构
载荷里面的东西是可以被解析的,一般不宜放重要信息
-
标头(Header):这部分包含了令牌的类型(通常是"JWT")以及所使用的签名算法,如HMAC SHA256或RSA等。它提供了关于如何处理和验证令牌的信息。
-
载荷(Payload):这是令牌的核心部分,包含了实际的数据。这些数据通常被称为声明(Claims),可以包含各种信息,如用户ID、角色、权限等。虽然载荷是编码后的,但它不是加密的,所以不应该包含敏感信息。
-
签名(Signature):这一部分用于验证消息在传输过程中没有被篡改,并且可以确认发送方的身份。签名是通过使用标头和载荷中的信息,结合一个秘密密钥(对于对称算法)或私钥(对于非对称算法)计算得出的。
JWT的主要用途包括:
- 身份验证:当用户登录后,服务器会生成一个JWT并返回给客户端。之后,客户端在每次请求时都会附带这个JWT,服务器通过验证JWT来确认用户的身份。
- 信息交换:由于JWT可以在其载荷中携带信息,因此它们也可以用于安全地在各方之间传输信息。
这里的东西都是不涉密的,都能被解析,可以看,但不能改,如果改过token,签名会变。
5.生成JWT Token(缺点:登录时做不了退出,解决方法把Token放Redis里)
6.解析JWT Token(写好之后去搜一个能解析Token的网站解析)
总的来说,JWT提供了一种轻量级、自包含的方式来进行身份验证和信息交换,特别适用于分布式系统和微服务架构。