最近我开始使用基于JWT的身份验证.在用户登录之后,生成用户令牌,其看起来像"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ".
它由三个部分组成,每个部分用点(.)分隔.第一部分是Base64编码的标题.解码后我们会得到类似{"alg":"HS256",//使用的算法"typ":"JWT"}
第二部分是索赔和Base64编码.解码后,我们会得到类似{"sub":"1234567890","name":"John Doe","admin":true}
第三部分是签名并生成
HMACSHA256(base64UrlEncode(header)+"."+ base64UrlEncode(payload), secret base64编码 )
现在这个密钥是什么以及如何生成这个密钥?
我尝试了一些在线生成器,如" http://kjur.github.io/jsjws/tool_jwt.html ",但dint得到了很多帮助.
jwt ×1