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