Skip to content
This repository has been archived by the owner on Feb 25, 2019. It is now read-only.

Commit

Permalink
Merge pull request #105 from vsimonian/providerfields
Browse files Browse the repository at this point in the history
feat(fields): Generate sign in form for providers with defined fields
  • Loading branch information
christiansmith committed Jun 30, 2015
2 parents 265c5b1 + 2769b1f commit 16169a1
Show file tree
Hide file tree
Showing 10 changed files with 499 additions and 159 deletions.
11 changes: 6 additions & 5 deletions boot/passport.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,13 @@ module.exports = function (passport) {
*/

if (settings.providers) {
Object.keys(settings.providers).forEach(function (name) {
var providerConf = settings.providers[name]
, provider = ( providers[name] ? providers[name] : providerConf )
Object.keys(settings.providers).forEach(function (id) {
var providerConf = settings.providers[id]
, provider = ( providers[id] ? providers[id] : providerConf )
;

passport.use(protocols.initialize(name, provider, providerConf));
var strategy = protocols.initialize(id, provider, providerConf);
strategy.name = id;
passport.use(strategy);
});
}

Expand Down
4 changes: 2 additions & 2 deletions models/User.js
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ User.authenticate = function (email, password, callback) {
User.lookup = function (req, info, callback) {
if (req.user) { return callback(null, req.user); }

var provider = req.params.provider
var provider = req.params.provider || req.body.provider
, index = User.collection + ':' + provider
;

Expand Down Expand Up @@ -336,7 +336,7 @@ User.defineIndex({
*/

User.connect = function (req, auth, info, callback) {
var provider = providers[req.params.provider];
var provider = providers[req.params.provider || req.body.provider];
// what if there's no provider param?

// Try to find an existing user.
Expand Down
2 changes: 1 addition & 1 deletion models/UserApplications.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function userApplications (user, callback) {
}, function (err, clients) {
if (err) { return done(err); }
done(null, clients);
})
});
},

// Get the authorized scope for the user
Expand Down
6 changes: 5 additions & 1 deletion providers/password.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@
module.exports = function (config) {
return {
id: 'password',
name: 'local',
name: 'Email and Password',
protocol: 'Password',
fields: [
{ name: 'email', type: 'email' },
{ name: 'password', type: 'password' }
],
usernameField: 'email',
passReqToCallback: 'true'
};
Expand Down
Loading

0 comments on commit 16169a1

Please sign in to comment.