6

嗨,我是 Meteor 的新手,我想知道在 Meteor.user 对象中生成的 hashedToken 的用途。

在 Meteor 文档中解释了服务对象,

包含特定登录服务使用的数据。例如,它的 reset 字段包含忘记密码链接使用的令牌,它的 resume 字段包含用于让您在会话之间保持登录的令牌。

当我检查本地存储时,Meteor.loginToken 似乎与 hashedToken 不同。

所以我的问题是,1.本地存储中生成的 Meteor.loginToken 和服务对象内部生成的 hashedToken 有什么区别?2.为什么service对象里面的resume.loginTokens也是一个数组?

任何帮助表示赞赏...

4

1 回答 1

5

所以 loginToken 是一串可以留在计算机上的字符串,类似于 cookie 令牌。您不想将实际的用户名和密码留在计算机上,因此使用令牌。

然后使用令牌对服务器进行身份验证并代替用户名/密码登录。

阵列中有多个,因为您可以同时登录许多设备。每个人都有自己的令牌。

对令牌进行散列处理的原因是对数据库的额外安全措施。客户端上的令牌经过 sha256 哈希处理,并与已哈希数据库上的令牌匹配,以尝试自动登录用户。

它们被散列的原因是没有人可以将它们用作 loginToken localStorage 表单,通过从数据库中复制并将其粘贴为 localstorage logintoken 来以特定用户身份登录。它类似于能够用于登录用户的明文密码。

于 2015-02-24T13:46:08.320 回答