基于令牌的身份验证(在Node.js中)

gre*_*ech 6 authentication cryptography node.js

更多关于实现基于令牌的身份验证系统的一些提议的一般性指出问题,由Node.js似乎没有做好准备的事实.

由于我们希望构建一个无状态的API服务器来操作我们的数据存储,我们希望为我们的用户提供一个身份验证令牌(一个"骑车票"),它将包含在每次API调用中.

问题是如何以安全的方式生成此令牌.

[想法1] - 用户通过向服务器发送(用户ID,密码哈希)来请求身份验证令牌 - 服务器响应(user_id,expiry_date),由API服务器签名随机密钥 - 服务器可以检查每个令牌的有效性请求 - 服务器需要在一段有限的时间内存储令牌

[想法2] - 与上面相同,但避免发送密码哈希 - 用户请求身份验证令牌 - 服务器向用户发送质询,然后用户使用他的(user_id,password_hash)对来散列挑战 - 服务器验证这一点然后生成令牌按照想法1.

[想法3] - 使用密码哈希本身作为在每个请求中发送的身份验证令牌,以避免令牌管理问题 - 更简单但没有时间限制

[idea 4] - 与2相同,但challenged_hashed_by_(user_id,password_hash)成为令牌并在每个请求中发送

谢谢你的任何指示

小智 0

你看过oauth 2.0吗:http://hueniverse.com/2010/05/introducing-oauth-2-0/

还有很多图书馆可以为你处理它