JWT
了解jwt是什么,底层原理。
jwt字符串示例:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
设计目的:不需要服务器端存储状态,安全地传递非敏感信息。
什么是
jwtjwt全称json web token。是一种应用在网络应用之间,安全传递信息的开放标准。通常jwt用于身份验证和非敏感信息的传递。jwt的组成
头部:
json{ "alg":"HS256",//加密签名算法 "type":"JWT" }载荷:
json{ "sub":"1234567890", "name":"John Doe", "admin":"true" } //“sub” 属于标准声明,“name” 和 “admin”属于私有声明标准声明:该开放标准预先定义好的一些字段。
公共声明:是自定义的声明,用于在特定应用程序中共享信息。
私有声明:用于在同意双方之间共享信息,通常不会被JWT规范定义,而是由应用程序自行定义和使用。
签名(字符串):
- 签名通过对
JWT头部和载荷部分进行哈希计算,确保内容未被篡改。任何对头部或载荷的修改都会导致签名失效。 - 身份验证:签名使用密钥生成,只有持有正确密钥的服务器才能验证签名。这确保了
JWT是由可信的签发方生成的。
- 签名通过对