Added password validator and facebook routes

This commit is contained in:
Sahat Yalkabov
2013-11-19 01:34:09 -05:00
parent 09c2c99634
commit 07ac42ae8d
4 changed files with 19 additions and 1 deletions

13
app.js
View File

@ -52,6 +52,19 @@ app.get('/account', passportConf.ensureAuthenticated, user.account);
app.get('/admin', passportConf.ensureAuthenticated, passportConf.ensureAdmin(), user.admin); app.get('/admin', passportConf.ensureAuthenticated, passportConf.ensureAdmin(), user.admin);
app.get('/partials/:name', home.partials); app.get('/partials/:name', home.partials);
// Redirect the user to Facebook for authentication. When complete,
// Facebook will redirect the user back to the application at
app.get('/auth/facebook', passport.authenticate('facebook'));
// Facebook will redirect the user to this URL after approval. Finish the
// authentication process by attempting to obtain an access token. If
// access was granted, the user will be logged in. Otherwise,
// authentication has failed.
app.get('/auth/facebook/callback', passport.authenticate('facebook', {
successRedirect: '/',
failureRedirect: '/login'
}));
app.get('*', home.index); app.get('*', home.index);

View File

@ -41,8 +41,11 @@ passport.use(new FacebookStrategy({
function (accessToken, refreshToken, profile, done) { function (accessToken, refreshToken, profile, done) {
User.findOne({ $where: profile.provider + '==' + profile.id }, function(err, existingUser) { User.findOne({ $where: profile.provider + '==' + profile.id }, function(err, existingUser) {
if (existingUser) { if (existingUser) {
console.log('already exists')
done(null, existingUser); done(null, existingUser);
} else { } else {
console.log('making new user');
console.log(profile)
var user = new User({ var user = new User({
firstName: profile.first_name, firstName: profile.first_name,
lastName: profile.last_name, lastName: profile.last_name,
@ -50,6 +53,7 @@ passport.use(new FacebookStrategy({
}); });
user[profile.provider] = profile.id; user[profile.provider] = profile.id;
user.save(function(err) { user.save(function(err) {
if (err) throw err;
done(null, user); done(null, user);
}); });
} }

View File

@ -64,6 +64,7 @@ exports.postSignup = function(req, res) {
user.save(function(err) { user.save(function(err) {
if (err) { if (err) {
console.log(err);
if (err.code === 11000) { if (err.code === 11000) {
req.flash('messages', 'User already exists'); req.flash('messages', 'User already exists');
return res.redirect('/signup'); return res.redirect('/signup');

View File

@ -9,7 +9,7 @@ block content
a(href='/signup') Sign Up a(href='/signup') Sign Up
.row .row
.col-xs-6.col-sm-6.col-md-6 .col-xs-6.col-sm-6.col-md-6
a.btn.btn-lg.btn-primary.btn-block(href='#') a.btn.btn-lg.btn-primary.btn-block(href='/auth/facebook')
i.fa.fa-facebook-square i.fa.fa-facebook-square
| Facebook | Facebook
.col-xs-6.col-sm-6.col-md-6 .col-xs-6.col-sm-6.col-md-6