在everyauth.password中访问会话?

时间:2012-06-24 04:21:40

标签: node.js everyauth

我正在开发一个节点快递应用程序,而且我已经将它与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)中访问会话?

1 个答案:

答案 0 :(得分:0)

您无法通过.authenticate功能访问会话,而您在此处尝试执行的操作感觉不对。您的.authenticate函数应该只是通过login参数查找用户,验证password参数是否与用户的密码匹配,然后通过回调返回该用户的用户对象。如果您想使用everyauth创建用户,则应使用.validateRegistration.registerUser函数。