流星:强制用户在服务器端注销
Meteor: Force user logout on server-side
我的 Meteor 应用程序中的用户需要一个经过验证的电子邮件地址才能登录。当用户更改他的电子邮件地址时,我想在服务器端注销他并发送一封新的验证电子邮件。
我已经在删除 login.resume.tokens
,但这并没有终止用户会话(他在页面重新加载时注销)。那么我该如何杀死服务器端的用户会话呢?还有更多的东西要删除吗?
我希望浏览器反应性地意识到当前会话已经关闭。
我想你想使用“currentUser”。它是反应性的,当令牌在服务器端被删除时,它将 return 为空。
{{#if currentUser }}
<!-- template here -->
{{/if}}
这似乎没有记录,但您是否在服务器上尝试过 Accounts.logout()
?看起来像 it's implemented。否则在客户端上更改后只是 运行 Accounts.logout()
。我认为你的情况是可以接受的。
您可以使用 Tracker & autorun 跟踪用户状态,如下所示:
Tracker.autorun(() => {
if (! Meteor.userId() && ! Meteor.loggingIn()) // do something here;
});
我已经让服务器端 Meteor.call('logout')
为我工作。但是,我找不到它的文档。
对于客户端上的反应变量,请尝试使用 Meteor.userId()
,例如在像 Meteor.autorun(function(){...});
.
这样的自动运行中
我的 Meteor 应用程序中的用户需要一个经过验证的电子邮件地址才能登录。当用户更改他的电子邮件地址时,我想在服务器端注销他并发送一封新的验证电子邮件。
我已经在删除 login.resume.tokens
,但这并没有终止用户会话(他在页面重新加载时注销)。那么我该如何杀死服务器端的用户会话呢?还有更多的东西要删除吗?
我希望浏览器反应性地意识到当前会话已经关闭。
我想你想使用“currentUser”。它是反应性的,当令牌在服务器端被删除时,它将 return 为空。
{{#if currentUser }}
<!-- template here -->
{{/if}}
这似乎没有记录,但您是否在服务器上尝试过 Accounts.logout()
?看起来像 it's implemented。否则在客户端上更改后只是 运行 Accounts.logout()
。我认为你的情况是可以接受的。
您可以使用 Tracker & autorun 跟踪用户状态,如下所示:
Tracker.autorun(() => {
if (! Meteor.userId() && ! Meteor.loggingIn()) // do something here;
});
我已经让服务器端 Meteor.call('logout')
为我工作。但是,我找不到它的文档。
对于客户端上的反应变量,请尝试使用 Meteor.userId()
,例如在像 Meteor.autorun(function(){...});
.