【问题标题】:what is the use of hashedToken inside meteor.user在meteor.user中hashedToken有什么用
【发布时间】:2015-04-26 02:19:23
【问题描述】:

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

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

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

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

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

感谢任何帮助...

【问题讨论】:

    标签: meteor reactive-programming meteorite meteor-accounts isomorphic-javascript


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 您提到令牌是数组中的多个,因为您可能有许多浏览器或多个会话。每个人都有自己的令牌'。所以如果创建了很多token,那么将使用哪个token进行身份验证
    • @gopinathshiva 每次登录(通过输入凭据)都会创建一个新令牌。如果您有一个未登录的浏览器或您登录的单独计算机,将为您登录的每台计算机创建新的登录令牌。列出的任何令牌都可以正确登录,因为您可以同时在多台计算机上保持登录状态。
    • @gopinathshiva 你对 loginTokens 的意图是什么,也许我可以为你想用它们做什么提供一个具体的答案?
    • 我想知道流星是如何管理令牌数组的。如果数组中有很多令牌,那么流星如何知道使用哪个令牌进行相应的登录。例子。如果我使用 lap、phone、tab 登录,则会创建 3 个登录令牌,当我再次打开 lap、phone 或 tab 时,meteor 如何知道用于相应设备的令牌
    • @gopinathshiva 如果使用 Meteor 运行的 cron 作业过期,它们将被删除。要手动删除它们,您可以使用此方法docs.meteor.com/#/full/meteor_logoutotherclients,然后如果要清除所有它们,请注销自己。如果您有更多与原始问题无关的问题,请以这种方式打开其他问题,它可以帮助其他可能在 cmets 中找不到太多帮助的用户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 2015-01-17
    • 1970-01-01
    相关资源
    最近更新 更多