在陈旧的会话注销的流星注销

时间:2017-07-31 22:17:33

标签: session meteor

我是meteor.js的新手,如果我的问题根据社区标准不合适,我很抱歉。

好吧,我正在尝试在其上创建一个简单的应用程序,并在用户不活动后遇到了超时问题。

我正在使用#34; stale session meteor package"在一段指定的不活动时间后自动超时用户。它注销了用户,但没有取消设置" Meteor.user()"我可以在流星中知道用户已经注销并呼叫"登录"页面重新登录。

例如,陈旧的会话在30秒不活动后注销用户,然后我检查了" Meteor.user()"的返回值,如果陈旧会话是,那么它应该返回undefined超时,相反,它正在运行具有id和其他详细信息的完整用户对象。

我只想在陈旧会话超时并强制注销用户并显示登录屏幕时。

我一直在互联网上搜索两天,但无法找到解决方法。最后,发布了这个问题。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案并且正在运行,因此如果有人需要,可以在此处发布。

我挖掘了陈旧的包代码,并在其client.js中用这个替换了代码

Meteor.setInterval(function() {
if (Meteor.userId()) {

    if(activityDetected){
        Meteor.call('heartbeat');
        activityDetected = false;
    } else {
        //This is the wanted behavior
        Meteor.logout();
    }
}

}, heartbeatInterval);

如果在jquery事件方面没有检测到任何活动,我只需要调用logout并且不需要担心Meteor.user()或Meteor.userId()等。它只是注销并转到登录屏幕路径,我实现。