如何在使用Meteor登录过程中挂钩进行身份验证回调?

Tim*_*Dog 1 meteor

使用meteor,我希望能够user在他们使用外部服务登录(已验证)以获取其授权声明后增加记录.

更新 我正在使用{{loginButtons}}把手帮助器小部件.

目前,我看到一个Accounts.validateNewUser和一个Accounts.onCreateUser可以在创建新用户期间挂钩.这些最初会有所帮助,但我的需求是经常性的.

我知道有一个allow功能可以挂断它Meteor.Collection作为一种授权用户访问集合的方法 - 这正是我将使用claims我打算用来增加用户来确定授权的地方.

在登录过程中是否有人知道钩子可以让我这样做?

Tom*_*man 14

避免缺少回调的最简单方法是使用相关的反应变量:

Tracker.autorun(function() {
  if (Meteor.userId()) {
    // do something when they've just logged in.
  }
});
Run Code Online (Sandbox Code Playgroud)

上下文设置autorun只会在Meteor.userId()更改值时重新运行- 即他们登录时.

  • 现在那将是`Deps.autorun(函数......` (4认同)

小智 5

从Meteor 0.7.2版本开始,有一个服务器端钩子可用: Accounts.onLogin()