aboutsummaryrefslogtreecommitdiff
path: root/node_modules/passport-google-oauth20/lib/profile
diff options
context:
space:
mode:
authornanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-27 01:45:42 +0000
committernanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-27 01:45:42 +0000
commit3b002a6fb136b9e7e534ffbcfedabed72fcd373d (patch)
treed24c3cb1f9e0283de25c32259f692745c6b19bc1 /node_modules/passport-google-oauth20/lib/profile
parent25706820837bd05cdc3b186eb1d5ebabf9688a61 (diff)
Added passport-facbeook
Diffstat (limited to 'node_modules/passport-google-oauth20/lib/profile')
-rw-r--r--node_modules/passport-google-oauth20/lib/profile/googleplus.js47
-rw-r--r--node_modules/passport-google-oauth20/lib/profile/openid.js40
2 files changed, 87 insertions, 0 deletions
diff --git a/node_modules/passport-google-oauth20/lib/profile/googleplus.js b/node_modules/passport-google-oauth20/lib/profile/googleplus.js
new file mode 100644
index 0000000..0607ba1
--- /dev/null
+++ b/node_modules/passport-google-oauth20/lib/profile/googleplus.js
@@ -0,0 +1,47 @@
+/**
+ * Parse profile.
+ *
+ * Parses user profiles as fetched from Google's Google+ API.
+ *
+ * The amount of detail in the profile varies based on the scopes granted by the
+ * user. The following scope values add additional data:
+ *
+ * `https://www.googleapis.com/auth/plus.login` - recommended login scope
+ * `profile` - basic profile information
+ * `email` - email address
+ *
+ * References:
+ * - https://developers.google.com/+/web/api/rest/latest/people/get
+ * - https://developers.google.com/+/web/api/rest/
+ * - https://developers.google.com/+/web/api/rest/oauth
+ *
+ * @param {object|string} json
+ * @return {object}
+ * @access public
+ */
+exports.parse = function(json) {
+ if ('string' == typeof json) {
+ json = JSON.parse(json);
+ }
+
+ var profile = {}
+ , i, len;
+ profile.id = json.id;
+ profile.displayName = json.displayName;
+ if (json.name) {
+ profile.name = { familyName: json.name.familyName,
+ givenName: json.name.givenName };
+ }
+ if (json.emails) {
+ profile.emails = [];
+ for (i = 0, len = json.emails.length; i < len; ++i) {
+ profile.emails.push({ value: json.emails[i].value, type: json.emails[i].type })
+ }
+ }
+ if (json.image) {
+ profile.photos = [{ value: json.image.url }];
+ }
+ profile.gender = json.gender;
+
+ return profile;
+};
diff --git a/node_modules/passport-google-oauth20/lib/profile/openid.js b/node_modules/passport-google-oauth20/lib/profile/openid.js
new file mode 100644
index 0000000..2056feb
--- /dev/null
+++ b/node_modules/passport-google-oauth20/lib/profile/openid.js
@@ -0,0 +1,40 @@
+/**
+ * Parse profile.
+ *
+ * Parses user profiles as fetched from Google's OpenID Connect-compatible user
+ * info endpoint.
+ *
+ * The amount of detail in the profile varies based on the scopes granted by the
+ * user. The following scope values add additional data:
+ *
+ * `profile` - basic profile information
+ * `email` - email address
+ *
+ * References:
+ * - https://developers.google.com/identity/protocols/OpenIDConnect
+ *
+ * @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.sub;
+ profile.displayName = json.name;
+ if (json.family_name || json.given_name) {
+ profile.name = { familyName: json.family_name,
+ givenName: json.given_name };
+ }
+ if (json.email) {
+ profile.emails = [ { value: json.email, verified: json.email_verified } ];
+ }
+ if (json.picture) {
+ profile.photos = [{ value: json.picture }];
+ }
+
+ return profile;
+};