From db067bbc643abbbf46511190444f2f459919aca7 Mon Sep 17 00:00:00 2001 From: Igor Freire Date: Sat, 24 Jan 2015 19:44:30 -0300 Subject: [PATCH] Infer first and last name from github and twitter response Last name can contain more than one name. E.g. "John Doe Junior" would have "Doe Junior" as last name. --- config/strategies/github.js | 9 ++++++++- config/strategies/twitter.js | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/config/strategies/github.js b/config/strategies/github.js index 7c36ba09..97c7c767 100644 --- a/config/strategies/github.js +++ b/config/strategies/github.js @@ -23,8 +23,15 @@ module.exports = function() { providerData.refreshToken = refreshToken; // Create the user OAuth profile + var displayName = profile.displayName.trim(); + var iSpace = displayName.indexOf(' '); // index of the whitespace following the firstName + var firstName = iSpace !== -1 ? displayName.substring(0, iSpace) : displayName; + var lastName = iSpace !== -1 ? displayName.substring(iSpace + 1) : ''; + var providerUserProfile = { - displayName: profile.displayName, + firstName: firstName, + lastName: lastName, + displayName: displayName, email: profile.emails[0].value, username: profile.username, provider: 'github', diff --git a/config/strategies/twitter.js b/config/strategies/twitter.js index 8e250eeb..2bc57cb2 100644 --- a/config/strategies/twitter.js +++ b/config/strategies/twitter.js @@ -23,8 +23,15 @@ module.exports = function() { providerData.tokenSecret = tokenSecret; // Create the user OAuth profile + var displayName = profile.displayName.trim(); + var iSpace = displayName.indexOf(' '); // index of the whitespace following the firstName + var firstName = iSpace !== -1 ? displayName.substring(0, iSpace) : displayName; + var lastName = iSpace !== -1 ? displayName.substring(iSpace + 1) : ''; + var providerUserProfile = { - displayName: profile.displayName, + firstName: firstName, + lastName: lastName, + displayName: displayName, username: profile.username, provider: 'twitter', providerIdentifierField: 'id_str',