如何在登录尝试中找到当前用户
how to find the currentUser on a login attempt
我正在尝试添加一个简单的处理程序来处理用户登录。
我认为这很简单但是......由于某种原因我无法在 Accounts.onLogin 回调中找到用户。
Meteor.startup ->
if Meteor.isServer
Accounts.onLogin ->
console.log("login | onLogin")
user = Meteor.user()
console.log("login | onLogin user:", user)
但这永远不会达到第二个 console.log。
如果我注释掉 user = Meteor.user()
则它不会崩溃。
服务端meteor是否可以通过这种方式获取currentUser?
https://docs.meteor.com/#/full/accounts_onlogin
对于客户端,我可以用跟踪器收听,
但是我更愿意在回调事件和服务器端使用它。
奇怪的是,错误总是指向 Meteor.userId(),即使我没有调用它。
I20150109-05:49:02.924(-8)? Exception in onLogin callback: Error: Meteor.userId can only be invoked in method calls. Use this.userId in publish functions.
I20150109-05:49:02.925(-8)? at Object.Meteor.userId (packages/accounts-base/accounts_server.js:19:1)
I20150109-05:49:02.926(-8)? at Object.Meteor.user (packages/accounts-base/accounts_server.js:24:1)
I20150109-05:49:02.927(-8)? at packages/dcsan:mpg/both/startup/AccountsValidation.coffee:43:21
I20150109-05:49:02.928(-8)? at runWithEnvironment (packages/meteor/dynamics_nodejs.js:108:1)
I20150109-05:49:02.929(-8)? at packages/meteor/dynamics_nodejs.js:121:1
I20150109-05:49:02.930(-8)? at packages/accounts-base/accounts_server.js:112:1
I20150109-05:49:02.931(-8)? at [object Object]._.extend.each (packages/callback-hook/hook.js:102:1)
I20150109-05:49:02.932(-8)? at successfulLogin (packages/accounts-base/accounts_server.js:111:1)
I20150109-05:49:02.933(-8)? at attemptLogin (packages/accounts-base/accounts_server.js:283:1)
I20150109-05:49:02.934(-8)? at [object Object].Meteor.methods.login (packages/accounts-base/accounts_server.js:436:1)
您在这里遗漏了一些东西-
Accounts.onLogin
具有参数用户对象 userObject
并且可以通过 userObject.user
访问用户详细信息,使用以下 -
Accounts.onLogin (userObject)->
# userObject.user object can get you currently successful logged in user
console.log("login | onLogin")
console.log("login | onLogin user:", userObject.user)
我正在尝试添加一个简单的处理程序来处理用户登录。 我认为这很简单但是......由于某种原因我无法在 Accounts.onLogin 回调中找到用户。
Meteor.startup ->
if Meteor.isServer
Accounts.onLogin ->
console.log("login | onLogin")
user = Meteor.user()
console.log("login | onLogin user:", user)
但这永远不会达到第二个 console.log。
如果我注释掉 user = Meteor.user()
则它不会崩溃。
服务端meteor是否可以通过这种方式获取currentUser?
https://docs.meteor.com/#/full/accounts_onlogin
对于客户端,我可以用跟踪器收听, 但是我更愿意在回调事件和服务器端使用它。
奇怪的是,错误总是指向 Meteor.userId(),即使我没有调用它。
I20150109-05:49:02.924(-8)? Exception in onLogin callback: Error: Meteor.userId can only be invoked in method calls. Use this.userId in publish functions.
I20150109-05:49:02.925(-8)? at Object.Meteor.userId (packages/accounts-base/accounts_server.js:19:1)
I20150109-05:49:02.926(-8)? at Object.Meteor.user (packages/accounts-base/accounts_server.js:24:1)
I20150109-05:49:02.927(-8)? at packages/dcsan:mpg/both/startup/AccountsValidation.coffee:43:21
I20150109-05:49:02.928(-8)? at runWithEnvironment (packages/meteor/dynamics_nodejs.js:108:1)
I20150109-05:49:02.929(-8)? at packages/meteor/dynamics_nodejs.js:121:1
I20150109-05:49:02.930(-8)? at packages/accounts-base/accounts_server.js:112:1
I20150109-05:49:02.931(-8)? at [object Object]._.extend.each (packages/callback-hook/hook.js:102:1)
I20150109-05:49:02.932(-8)? at successfulLogin (packages/accounts-base/accounts_server.js:111:1)
I20150109-05:49:02.933(-8)? at attemptLogin (packages/accounts-base/accounts_server.js:283:1)
I20150109-05:49:02.934(-8)? at [object Object].Meteor.methods.login (packages/accounts-base/accounts_server.js:436:1)
您在这里遗漏了一些东西-
Accounts.onLogin
具有参数用户对象 userObject
并且可以通过 userObject.user
访问用户详细信息,使用以下 -
Accounts.onLogin (userObject)->
# userObject.user object can get you currently successful logged in user
console.log("login | onLogin")
console.log("login | onLogin user:", userObject.user)