Angular :如何获得 Google 访问令牌

Angular : how can I get Google access token

我正在尝试使用 Angular 4 获取访问令牌。 当用户使用 Google 登录时,我得到以下数据。

authToken // *
id
email
.
.
.
name

那么我如何使用 Angular

获得 Google 访问令牌

我正在使用 Angular 4,所以那里没有令牌变量,这与版本 5 和 6 不同, 所以我关注 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