RESTful令牌身份验证的工作原理

时间:2017-07-29 22:57:32

标签: rest api http token

据我所知,我必须在成功验证后向客户提供令牌。我还不明白的是服务器如何验证令牌及其到期时间。

如果RESTful服务是无状态的,那么如何验证服务器上的令牌呢?任何人都可以提供令牌验证的例子吗?

2 个答案:

答案 0 :(得分:2)

  

如果RESTful服务是无状态的,那么如何验证服务器上的令牌呢?

服务器不存储任何状态,用于验证令牌的状态包含在令牌内,例如到期日期&帐户ID。一个非常简单的伪示例:

if token.expiry < now then
   return tokenExpired
If !findUser(token.accountId) then
   return accountNotFound

return tokenOk

服务器可以跟踪它发布的令牌作为安全措施,以确保旧令牌不能被重用,并且令牌不能被伪造。因此,如果我们采用前面的示例,它可以更新以包含额外的检查

if !tokenActive(token) then
    return tokenInvalid

答案 1 :(得分:0)

令牌包含一些有用的信息,如日期,某些值,如用户名或电子邮件和其他字段。

如果我以JWT令牌为例,你会发现3个字段的信息&#39; 1 /标题 2 /有效载荷 3 /验证签名

您可以在此网站上找到更多数据:https://jwt.io/introduction/