diff --git a/app.js b/app.js index b4aa779..d154369 100644 --- a/app.js +++ b/app.js @@ -7,6 +7,7 @@ var express = require('express'), var usersById = {}; var nextUserId = 0; var usersByTwitId = {}; +var usersByFbId = {}; everyauth .twitter @@ -17,6 +18,14 @@ everyauth }) .redirectPath('/'); +everyauth.facebook + .appId(conf.fb.appId) + .appSecret(conf.fb.appSecret) + .findOrCreateUser( function (session, accessToken, accessTokExtra, fbUserMetadata) { + return usersByFbId[fbUserMetadata.id] || (usersByFbId[fbUserMetadata.id] = addUser('facebook', fbUserMetadata)); + }) + .redirectPath('/'); + function addUser (source, sourceUser) { var user; if (arguments.length === 1) { // password-based diff --git a/views/layout.jade b/views/layout.jade index 3adbae7..8869c49 100644 --- a/views/layout.jade +++ b/views/layout.jade @@ -9,16 +9,22 @@ html a#Home(href="/private") Private - if(everyauth.loggedIn) ul#Authed - li - Hi #{everyauth.twitter.user.name}! - li - img(src="#{everyauth.twitter.user.profile_image_url}") - - // li= JSON.stringify(everyauth.twitter.user) + - if(everyauth.twitter) + li + Hi #{everyauth.twitter.user.name} from Twitter! + li + img(src="#{everyauth.twitter.user.profile_image_url}") + - if(everyauth.facebook) + li Hi #{everyauth.facebook.user.name} from Facebook! + li= JSON.stringify(everyauth) li a(href="/logout") Sign Out - else ul#Authenticate li - a(href="/auth/twitter") auth with twitter + a(href='/auth/twitter', style='border: 0px') + img(style='border: 0px', src='https://si0.twimg.com/images/dev/buttons/sign-in-with-twitter-l.png') + li + a(href='auth/facebook') Sign in with Facebook + != body