据我所知,我必须在成功验证后向客户提供令牌。我还不明白的是服务器如何验证令牌及其到期时间。
如果RESTful服务是无状态的,那么如何验证服务器上的令牌呢?任何人都可以提供令牌验证的例子吗?
答案 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/