最近我开始使用基于 JWT 的身份验证
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ".
它由三部分组成,每部分用一个点分开.第一部分是头部 Base64编码。解码后,我们会得到类似
{
"alg": "HS256", //Algorithm used
"typ": "JWT"
}
第二部分是声明和 Base64编码。解码后,我们将得到类似
{
"sub": "1234567890",
"name": "John Doe",
"admin": true
}
第三部分是签名,使用
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
*secret base64 encoded*
)
这个密钥是什么? 如何生成这个密钥?
我试过一些像 http://kjur.github.io/jsjws/tool_jwt.html这样的在线发电机 但没有得到多少帮助。