我有一个REST Jersey Web服务。
我的问题是关于这个问题的答案,请检查;
token based authentication in php
在那个答案中,它提到:
“然后,它发送此令牌的哈希值和请求的某些特征以对请求进行身份验证,例如sha1(令牌+时间戳+请求URL +请求正文)。您的服务器可以验证此结果,而客户端不必以纯文本格式发送令牌根据每个请求。”
谁能解释服务器如何验证“无需客户端在每次请求时都以纯文本形式发送令牌”?客户端应该每次向服务器发送令牌?
另一个问题是,一旦服务器收到该令牌的哈希值(包括时间戳和userid..etc),服务器将如何从此令牌中识别用户,而无需存储令牌的查找表或数据库?
最佳答案
对于第一个问题:客户端可以发送令牌的哈希版本,服务器将哈希值与从客户端收到的值进行比较。
对于第二个问题:您可以在内存中,磁盘上或您认为合适的任何地方保留令牌与用户之间的映射。