是否有处理无状态身份验证的标准做法?
我正在创建一个 API 服务器,并希望每个请求都由客户端签名,这样我可以保证请求的发出者是我们网站的有效用户。
服务器和客户端有一个共享的秘密——即用户的哈希密码,所以......
- 服务器向客户端发送一个随机数
- 客户端将签名密钥 K 构造为 (nonce,hashed_password)
- 客户端通过使用密钥 K 附加消息身份验证代码来“签署”每个请求
- 例如('删除 image_x',user_id,request_signature)
- 然后服务器在处理之前检查签名是否对每个请求都有效。
有没有明显的缺陷?