您好我是Meteor的新手,我想知道在Meteor.user对象中生成的hashedToken的用途是什么。
在Meteor文档中解释了服务对象,
包含特定登录服务使用的数据。例如,其重置字段包含忘记密码链接使用的标记,其恢复字段包含用于让您在会话之间登录的标记。
当我检查localstorage时,Meteor.loginToken似乎与hashedToken不同。
所以我的问题是, 1.本地存储中生成的Meteor.loginToken和服务对象内生成的hashedToken有什么区别? 2.另外为什么service.loginTokens里面的服务对象是一个数组?
感谢任何帮助...
答案 0 :(得分:2)
因此,loginToken是一个字符串,可以留在计算机上,类似于cookie令牌。您不希望在计算机上保留实际的用户名和密码,因此会使用令牌。
然后,令牌用于向服务器进行身份验证并登录以代替用户名/密码。
阵列中有多个,因为您可以同时登录多个设备。每个人都有自己的令牌。
对令牌进行哈希处理的原因是对数据库的额外安全措施。客户端上的令牌是sha256哈希并与已经散列的数据库上的令牌匹配,以尝试自动登录用户。
它们被哈希的原因是没有人可以使用它们作为loginToken localStorage表单以某个用户身份登录,方法是将其从数据库中复制并粘贴为localstorage logintoken。它类似于能够用于登录用户的明文密码。