diff --git a/src/entities/user.ts b/src/entities/user.ts index 8937515..f58c4db 100755 --- a/src/entities/user.ts +++ b/src/entities/user.ts @@ -5,7 +5,9 @@ export class SocialUser { name: string; image: string; token?: string; - idToken?: string + idToken?: string; + firstName?: string; + lastName?: string; } export class LoginProviderClass { diff --git a/src/providers/facebook-login-provider.ts b/src/providers/facebook-login-provider.ts index e5271fd..170683a 100755 --- a/src/providers/facebook-login-provider.ts +++ b/src/providers/facebook-login-provider.ts @@ -30,7 +30,7 @@ export class FacebookLoginProvider extends BaseLoginProvider { FB.getLoginStatus(function (response: any) { if (response.status === 'connected') { const accessToken = FB.getAuthResponse()['accessToken']; - FB.api('/me?fields=name,email,picture', (res: any) => { + FB.api('/me?fields=name,email,picture,first_name,last_name', (res: any) => { resolve(FacebookLoginProvider.drawUser(Object.assign({}, {token: accessToken}, res))); }); } @@ -43,6 +43,8 @@ export class FacebookLoginProvider extends BaseLoginProvider { let user: SocialUser = new SocialUser(); user.id = response.id; user.name = response.name; + user.firstName = response.first_name; + user.lastName = response.last_name; user.email = response.email; user.token = response.token; user.image = 'https://graph.facebook.com/' + response.id + '/picture?type=normal'; @@ -54,7 +56,7 @@ export class FacebookLoginProvider extends BaseLoginProvider { FB.login((response: any) => { if (response.authResponse) { const accessToken = FB.getAuthResponse()['accessToken']; - FB.api('/me?fields=name,email,picture', (res: any) => { + FB.api('/me?fields=name,email,picture,first_name,last_name', (res: any) => { resolve(FacebookLoginProvider.drawUser(Object.assign({}, {token: accessToken}, res))); }); } diff --git a/src/providers/google-login-provider.ts b/src/providers/google-login-provider.ts index 366ae6a..1de7987 100755 --- a/src/providers/google-login-provider.ts +++ b/src/providers/google-login-provider.ts @@ -19,18 +19,18 @@ export class GoogleLoginProvider extends BaseLoginProvider { initialize(): Promise { return new Promise((resolve, reject) => { this.loadScript(this.loginProviderObj, () => { - gapi.load('auth2', () => { - this.auth2 = gapi.auth2.init({ - client_id: this.clientId, - scope: 'email' - }); + gapi.load('auth2', () => { + this.auth2 = gapi.auth2.init({ + client_id: this.clientId, + scope: 'email' + }); - this.auth2.then(() => { - if (this.auth2.isSignedIn.get()) { - resolve(this.drawUser()); - } - }); + this.auth2.then(() => { + if (this.auth2.isSignedIn.get()) { + resolve(this.drawUser()); + } }); + }); }); }); } @@ -41,6 +41,8 @@ export class GoogleLoginProvider extends BaseLoginProvider { let authResponseObj = this.auth2.currentUser.get().getAuthResponse(true); user.id = profile.getId(); user.name = profile.getName(); + user.firstName = profile.getGivenName(); + user.lastName = profile.getFamilyName(); user.email = profile.getEmail(); user.image = profile.getImageUrl(); user.token = authResponseObj.access_token;