1

我正在开发一个 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密码登录时如何做同样的事情:

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)中访问会话?

4

1 回答 1

0

您无法从您的.authenticate函数访问会话,并且您在这里尝试做的事情感觉不对。您的.authenticate函数应该只是通过参数查找用户login,验证password参数是否与用户的密码匹配,然后通过回调返回该用户的用户对象。如果你想使用everyauth 来创建用户,你应该使用.validateRegistrationand.registerUser函数。

于 2012-06-24T14:10:56.277 回答