我正在开发一个node express应用程序,我已经把它和Facebook认证很好地结合在一起了。我现在正在尝试启用我们自己的电子邮件/密码登录,并将其运行到一个路障。使用Facebook,我可以在身份验证期间访问和写入会话:
everyauth.faceboook
// Basic stuff
.findOrCreateUser( function( sess, accessToken, extra, fbUser) {
var promise = this.Promise();
sess.myvar = myvar
// Find user in DB, etc
promise.fulfill(fbUser);
return promise()
这很有效,因为我可以用这个方法保存一些我稍后需要的东西到会话中。但我不确定如何在使用每个身份验证密码登录时做同样的事情:
everyauth.password
// Basic stuff
.authenticate( function(email, password) {
var promise = this.Promise();
// Create new user in DB, etc
// Now I need to save stuff to the session but I'm not sure how to access
// it in here...
promise.fulfill(newUser)
return promise
那么,有没有办法在everyauth.password的身份验证和登录方法(使用相同的API)中访问会话呢?
发布于 2012-06-24 22:10:56
您不能从.authenticate
函数访问会话,并且您在这里尝试做的事情感觉是错误的。您的.authenticate
函数应该只是通过login
参数查找用户,验证password
参数是否与用户的密码匹配,然后通过回调返回该用户的user对象。如果您希望使用everyauth也创建用户,则应该使用.validateRegistration
和.registerUser
函数。
https://stackoverflow.com/questions/11174933
复制相似问题