現在我正在使用mongoose-auth的Facebook Connect。一切工作正常,用戶正在通過我的mongodb服務器創建/登錄。有沒有人用過Mongoose-auth?你如何搭配findOrCreateUsers?
但是,我想重載findOrCreateUsers,因爲我想在註冊時爲每個新用戶分配一個隨機「代碼」,並將其放入它們的db.users配置文件中。
所以我看着mongoose-auth/lib/facebook
,我將這3個facebook模塊文件複製到我自己的目錄[everyauth.js,index.js,schema.js]。爲了運行一個簡單的測試,我基本上包含了自己的目錄中的everyauth.js,並且使用它的findOrCreateUsers方法而不是默認的方法。
它的工作原理,但有一個錯誤。登錄/創建用戶後,req.user
未定義。 (req.loggedIn
顯示真的,耶!)
我知道這是一個新的圖書館,但如果你已經使用它(或瞭解了很多關於Node.js),我真的很感激,如果你能幫助我。我在irc.freenode.net上的#node.js上。暱稱是「xeodox」。如果你能幫助我,我會非常感激!
我推翻findOrCreateUser在我app.js這樣對facebook的模塊:
findOrCreateUser: function (sess, accessTok, accessTokExtra, fbUser) {
var promise = new Promise()
, self = this;
// TODO Check user in session or request helper first
// e.g., req.user or sess.auth.userId
this.User()().findOne({'fb.id': fbUser.id}, function (err, foundUser) {
if (foundUser)
return promise.fulfill(foundUser);
self.User()().createWithFB(fbUser, accessTok, accessTokExtra.expires, function (err, createdUser) {
return promise.fulfill(createdUser);
});
});
return promise;
}