Meteor:强制用户在服务器端注销

时间:2016-05-16 12:31:12

标签: meteor meteor-accounts

我的Meteor应用程序中的用户需要经过验证的电子邮件地址才能登录。当用户更改其电子邮件地址时,我想在服务器端登录并发送新的验证电子邮件。

我已经删除了login.resume.tokens,但这并没有杀死用户会话(他在页面重新加载时被注销)。那么kann如何在服务器端杀死用户会话?有更多的东西要删除吗? 我希望浏览器能够被动地意识到当前会话已经关闭。

4 个答案:

答案 0 :(得分:1)

我想你想使用" currentUser"。它是被动的,当令牌在服务器端被删除时,它将返回null。

{{#if currentUser }}
  <!--  template here  -->
{{/if}}

答案 1 :(得分:0)

您可以使用“跟踪器”和“跟踪器”跟踪用户状态。自动运行,如此:

Tracker.autorun(() => {
    if (! Meteor.userId() && ! Meteor.loggingIn()) // do something here;
});

答案 2 :(得分:0)

我已经让服务器端Meteor.call('logout')为我工作了。但是,我找不到它的文档。

对于客户端上的反应变量,请尝试使用Meteor.userId(),例如在像Meteor.autorun(function(){...});这样的自动运行中。

答案 3 :(得分:-1)

这似乎没有记录,但您是否在服务器上尝试Accounts.logout()?看起来像it's implemented。否则,只需在更改后在客户端上运行Accounts.logout()。我认为在你的情况下这是可以接受的。