From e3eafa6131ad799b77ada6e3bf1202fc686e0735 Mon Sep 17 00:00:00 2001 From: Daron Jones Date: Wed, 21 Sep 2016 05:24:16 +0100 Subject: [PATCH] fix(users) Handle missing email - OAuth (#1501) * fix(users) patch OAuth default email issue - Intentionally omits setting email in constructor to trigger defaults when creating user. Handles cases where email is not authorized/given by provider. Related to issue #1250 --- .../users/users.authentication.server.controller.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/users/server/controllers/users/users.authentication.server.controller.js b/modules/users/server/controllers/users/users.authentication.server.controller.js index d822d692..b4777854 100644 --- a/modules/users/server/controllers/users/users.authentication.server.controller.js +++ b/modules/users/server/controllers/users/users.authentication.server.controller.js @@ -160,12 +160,16 @@ exports.saveOAuthUserProfile = function (req, providerUserProfile, done) { lastName: providerUserProfile.lastName, username: availableUsername, displayName: providerUserProfile.displayName, - email: providerUserProfile.email, profileImageURL: providerUserProfile.profileImageURL, provider: providerUserProfile.provider, providerData: providerUserProfile.providerData }); + // Email intentionally added later to allow defaults (sparse settings) to be applid. + // Handles case where no email is supplied. + // See comment: https://github.com/meanjs/mean/pull/1495#issuecomment-246090193 + user.email = providerUserProfile.email; + // And save the user user.save(function (err) { return done(err, user, info);