mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +01:00 
			
		
		
		
	facebook integration
This commit is contained in:
		
							
								
								
									
										31
									
								
								src/user.js
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								src/user.js
									
									
									
									
									
								
							| @@ -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) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user