我正在开发一个节点快递应用程序,而且我已经将它与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密码登录时如何做同样的事情:
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的authenticate和login方法(使用相同的API)中访问会话?
答案 0 :(得分:0)
您无法通过.authenticate
功能访问会话,而您在此处尝试执行的操作感觉不对。您的.authenticate
函数应该只是通过login
参数查找用户,验证password
参数是否与用户的密码匹配,然后通过回调返回该用户的用户对象。如果您想使用everyauth创建用户,则应使用.validateRegistration
和.registerUser
函数。