在Meteor.js中查找当前会话ID

时间:2014-01-13 03:08:20

标签: javascript node.js meteor

如何在客户端上找到当前的会话ID?

我能够获得似乎是最后一个会话ID,而不是当前会话ID。

console.log(Meteor.default_connection._lastSessionId)

2 个答案:

答案 0 :(得分:7)

对此的措辞有点令人困惑,但_lastSessionId是当前的会话ID。

它只被调用,因为如果客户端断开连接并寻求重新连接,则需要使用上一个会话ID重新建立会话。

客户端将重新连接如下消息:

{"msg": "connect ", "session": "ERoZSR3R3f8zBQ6Ry", "version": "pre1","support":["pre1"]}

session使用lastSessionId值。然后,这用于重新建立先前的连接。

这是唯一一种在重新连接时分配新会话ID的情况。该会话或服务器的会话已过期。

如果服务器重新启动,则刷新缓存并且它将不再识别会话,并且将分配新的会话ID。

答案 1 :(得分:0)

默认情况下,Meteor登录令牌存储在本地存储中(不在cookie中)。

在客户端上,您可以访问

token = Meteor._localStorage.getItem('Meteor.loginToken')

在服务器上,收到令牌后,使用Accounts api进行哈希

Accounts._hashLoginToken(res.req.body.token)

然后,您可以针对services.resume.loginTokens.hashedToken字段

的用户集合验证散列值

此hack可用于构建流星表达式集成

Meteor Login Token

相关问题