diff options
Diffstat (limited to 'node_modules/passport-facebook/lib/profile.js')
| -rw-r--r-- | node_modules/passport-facebook/lib/profile.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/passport-facebook/lib/profile.js b/node_modules/passport-facebook/lib/profile.js new file mode 100644 index 0000000..ef00860 --- /dev/null +++ b/node_modules/passport-facebook/lib/profile.js @@ -0,0 +1,38 @@ +/** + * Parse profile. + * + * @param {object|string} json + * @return {object} + * @access public + */ +exports.parse = function(json) { + if ('string' == typeof json) { + json = JSON.parse(json); + } + + var profile = {}; + profile.id = json.id; + profile.username = json.username; + profile.displayName = json.name; + profile.name = { familyName: json.last_name, + givenName: json.first_name, + middleName: json.middle_name }; + + profile.gender = json.gender; + profile.profileUrl = json.link; + + if (json.email) { + profile.emails = [{ value: json.email }]; + } + + if (json.picture) { + if (typeof json.picture == 'object' && json.picture.data) { + // October 2012 Breaking Changes + profile.photos = [{ value: json.picture.data.url }]; + } else { + profile.photos = [{ value: json.picture }]; + } + } + + return profile; +}; |
