facebook integration

This commit is contained in:
Julian Lam
2013-05-02 15:57:43 -04:00
parent c113f4151b
commit 9c05a76fcb
5 changed files with 64 additions and 2 deletions

View File

@@ -174,6 +174,31 @@ var config = require('../config.js'),
});
}
User.loginViaFacebook = function(fbid, name, email, callback) {
User.get_uid_by_fbid(fbid, function(uid) {
if (uid !== null) {
// Existing User
callback(null, {
uid: uid
});
} else {
// New User
User.create(name, null, email, function(err, uid) {
if (err !== null) {
callback(err);
} else {
// Save twitter-specific information to the user
RDB.set('uid:' + uid + ':fbid', fbid);
RDB.set('fbid:' + fbid + ':uid', uid);
callback(null, {
uid: uid
});
}
});
}
});
}
User.logout = function(sessionID, callback) {
User.get_uid_by_session(sessionID, function(uid) {
if (uid) {
@@ -257,6 +282,12 @@ var config = require('../config.js'),
});
}
User.get_uid_by_fbid = function(fbid, callback) {
RDB.get('fbid:' + fbid + ':uid', function(uid) {
callback(uid);
});
}
User.session_ping = function(sessionID, uid) {
// Start, replace, or extend a session
RDB.get('sess:' + sessionID, function(session) {