angularaccess-tokengoogle-signinillegalargumentexceptionauth-token

Angular : how can I get Google access token


I am trying to get Access token using Angular 4. When the user logIn using Google I get the following Data.

authToken // *
id
email
.
.
.
name

So how I can get Google access token using Angular


Solution

  • I am using Angular 4, so there is no token variable there, unlike version 5 and 6, so I follow answer from this

    I solved this by going into node_modules/angular4-social-login and making a few changes.
    
    First go into /entities and change the SocialUser model and include "token: string;" like so:
    export declare class SocialUser {
    provider: string;
    id: string;
    email: string;
    name: string;
    photoUrl: string;
    token: string;
    }
    
    Go to angular4-social-login.umd.js and for every function of the GoogleLoginProvider where the SocialUser object is resolved - find "resolve(user)" - add the line:
    user.token = _this.auth2.currentUser.get().getAuthResponse().id_token
    
    Your authService should now return the idToken for the user as user.token.
    
    (3) - for Facebook accessToken, you follow similiar logic. Go to angular4-social-login.umd.js; and for every FacebookLoginProvider function that resolves the user (again search for "resolve(user)"):
    Under FB.login(function (response) {
    //get the token here
    var accessToken = response.authResponse.accessToken
    ...}
    
    (4) Where the user is being modified, simply add user.token = accessToken before resolving ✨ ✨ ✨
    

    ------------------------>the token and authtoken are differents