无状态 Web 应用集成

在一些环境中,可能需要把 Web 应用做成无状态的,即服务器端无状态,就是说服务器端
 
 
不会存储像会话这种东西,而是每次请求时带上相应的用户名进行登录。如一些 REST
 
 
格的 API ,如果不使用 OAuth2 协议,就可以使用如 REST+HMAC 认证进行访问。 HMAC
 
 
Hash-based Message Authentication Code ):基于散列的消息认证码,使用一个密钥和一
 
 
个消息作为输入,生成它们的消息摘要。注意该密钥只有客户端和服务端知道,其他第三
 
 
方是不知道的。访问时使用该消息摘要进行传播,服务端然后对该消息摘要进行验证。如
 
 
果只传递用户名 + 密码的消息摘要,一旦被别人捕获可能会重复使用该摘要进行认证。解决
 
 
办法如:
 
 
1 、每次客户端申请一个 Token ,然后使用该 Token 进行加密,而该 Token 是一次性的,即
 
 
只能用一次;有点类似于 OAuth2 Token 机制,但是简单些;
 
 
2 、客户端每次生成一个唯一的 Token ,然后使用该 Token 加密,这样服务器端记录下这些
 
 
Token ,如果之前用过就认为是非法请求。
相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页