fix make email optional
This commit is contained in:
@ -59,7 +59,7 @@
|
||||
"lodash": "^3.9.3",
|
||||
"loopback": "^2.18.0",
|
||||
"loopback-boot": "^2.8.0",
|
||||
"loopback-component-passport": "^1.3.1",
|
||||
"loopback-component-passport": "git://github.com/FreeCodeCamp/loopback-component-passport.git#feature/emailOptional",
|
||||
"loopback-connector-mongodb": "^1.10.0",
|
||||
"lusca": "~1.0.2",
|
||||
"method-override": "~2.3.0",
|
||||
|
@ -2,6 +2,11 @@ var debug = require('debug')('freecc:extendUser');
|
||||
|
||||
module.exports = function(app) {
|
||||
var User = app.models.User;
|
||||
// NOTE(berks): user email validation currently not needed but build in. This
|
||||
// work around should let us sneak by
|
||||
// see:
|
||||
// https://github.com/strongloop/loopback/issues/1137#issuecomment-109200135
|
||||
delete User.validations.email;
|
||||
debug('setting up user hooks');
|
||||
// send verification email to new camper
|
||||
User.afterRemote('create', function(ctx, user, next) {
|
||||
|
@ -9,12 +9,6 @@ var _ = require('lodash'),
|
||||
secrets = require('../../config/secrets');
|
||||
|
||||
module.exports = function(app) {
|
||||
// NOTE(berks): user email validation currently not needed but build in. This
|
||||
// work around should let us sneak by
|
||||
// see:
|
||||
// https://github.com/strongloop/loopback/issues/1137#issuecomment-109200135
|
||||
delete app.models.User.validations.email;
|
||||
|
||||
var router = app.loopback.Router();
|
||||
var User = app.models.User;
|
||||
var Story = app.models.Story;
|
||||
|
@ -10,6 +10,7 @@ process.on('uncaughtException', function (err) {
|
||||
});
|
||||
|
||||
var R = require('ramda'),
|
||||
assign = require('lodash').assign,
|
||||
loopback = require('loopback'),
|
||||
boot = require('loopback-boot'),
|
||||
accepts = require('accepts'),
|
||||
@ -202,6 +203,7 @@ passportConfigurator.setupModels({
|
||||
});
|
||||
|
||||
var passportOptions = {
|
||||
emailOptional: true,
|
||||
profileToUser: function(provider, profile) {
|
||||
var emails = profile.emails;
|
||||
// NOTE(berks): get email or set to null.
|
||||
@ -210,7 +212,7 @@ var passportOptions = {
|
||||
emails[0].value :
|
||||
null;
|
||||
|
||||
var username = provider + '.' + (profile.username || profile.id);
|
||||
var username = profile.username || profile.id;
|
||||
var password = generateKey('password');
|
||||
var userObj = {
|
||||
username: username,
|
||||
@ -227,7 +229,10 @@ var passportOptions = {
|
||||
R.keys(passportProviders).map(function(strategy) {
|
||||
var config = passportProviders[strategy];
|
||||
config.session = config.session !== false;
|
||||
passportConfigurator.configureProvider(strategy, config, passportOptions);
|
||||
passportConfigurator.configureProvider(
|
||||
strategy,
|
||||
assign(config, passportOptions)
|
||||
);
|
||||
});
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user