我有一个REST Jersey Web服务。

我的问题是关于这个问题的答案,请检查;

token based authentication in php

在那个答案中,它提到:

“然后,它发送此令牌的哈希值和请求的某些特征以对请求进行身份验证,例如sha1(令牌+时间戳+请求URL +请求正文)。您的服务器可以验证此结果,而客户端不必以纯文本格式发送令牌根据每个请求。”

谁能解释服务器如何验证“无需客户端在每次请求时都以纯文本形式发送令牌”?客户端应该每次向服务器发送令牌?

另一个问题是,一旦服务器收到该令牌的哈希值(包括时间戳和userid..etc),服务器将如何从此令牌中识别用户,而无需存储令牌的查找表或数据库?

最佳答案

对于第一个问题:客户端可以发送令牌的哈希版本,服务器将哈希值与从客户端收到的值进行比较。

对于第二个问题:您可以在内存中,磁盘上或您认为合适的任何地方保留令牌与用户之间的映射。

09-04 15:58
查看更多