JSON Web Token如何验证用户的身份验证?

时间:2017-12-22 10:42:01

标签: java spring jwt

JSON Web Token如何验证用户的身份验证? JWT是否存储用户数据?

如果是这样,我如何获得已完成身份验证的用户列表?

1 个答案:

答案 0 :(得分:1)

在基于令牌的身份验证环境中,令牌是标识用户的一段数据,用作执行身份验证的凭据。

JWT是一个自我包含的令牌,它包含三个部分:

  • 标题
  • 有效载荷
  • 签名

有效负载包含一组声明,您可以使用它来存储任意数据。

可以通过使用私有密钥验证在服务器端生成的签名来检查令牌的完整性,使用头和编码为Base64的有效负载。 JWT允许您执行无状态身份验证,也就是说,除了用于签名令牌的密钥之外,您不需要在服务器端存储任何内容。

sub是标准有效负载声明,用于存储作为JWT主体的主体(发出令牌的用户):

  

4.1.2. "sub" (Subject) Claim

     

sub(主题)声明标识了作为主体的主体   JWT的主题。 JWT中的声明通常是声明   关于这个问题。主题值必须是作用域   在发行人的背景下本地独特或全球独特。   该权利要求的处理通常是特定于应用的。该   sub值是包含StringOrURI的区分大小写的字符串   值。使用此声明是可选的。