如何在 angular 中使用 firebase 身份验证获取新的访问令牌以与 Google Api 交互?
how to get a new acces token to interact with Google Api with firebase authentication in angular?
用户通过 firebasebase 提供商登录到我的 angular 应用程序。
new firebase.auth.GoogleAuthProvider()
先后
firebase.auth().getRedirectResult()
当应用访问时我只有一个token like
ya29.a0AfH6SMAYg1A1RLwrEGe19qozweR9AFXuLJwSHb4FzQvuXk-ObVa54mpErd09mb4G3***********
不久后就会过期。
如何像 official google documentation 所说的那样增加截止时间?
更新
firebase.auth().getRedirectResult().then(function(result) {
if (result.credential) {
// This gives you a Google Access Token.
var token = result.credential.accessToken;
}
var user = result.user;
});
我想得到这个 token
但过期时间延长
在这里发现了一个类似的问题:
似乎唯一的办法就是使用 Google API JS 进行身份验证
解决方案:
步骤 1:
我已经在我的 angular 项目中安装了 ng-gapi。 (并配置它)
第 2 步:
通过 google ng-gapi 我登录了
this.gapiService.getAuth()
.subscribe((auth) => {
auth.signIn().then(res => this.signInSuccessHandler(res));
});
步骤 3:
我以 documentation said
身份手动登录 firebase
步骤 4:
现在通过 ng-gapi 我可以获得令牌
this.gapiService.getAuth().subscribe(x => {
console.log(x.Od.$B);
});
(我不知道是否存在获取 x.Od.$B
的 poper 函数,但它有效)
用户通过 firebasebase 提供商登录到我的 angular 应用程序。
new firebase.auth.GoogleAuthProvider()
先后
firebase.auth().getRedirectResult()
当应用访问时我只有一个token like
ya29.a0AfH6SMAYg1A1RLwrEGe19qozweR9AFXuLJwSHb4FzQvuXk-ObVa54mpErd09mb4G3***********
不久后就会过期。 如何像 official google documentation 所说的那样增加截止时间?
更新
firebase.auth().getRedirectResult().then(function(result) {
if (result.credential) {
// This gives you a Google Access Token.
var token = result.credential.accessToken;
}
var user = result.user;
});
我想得到这个 token
但过期时间延长
在这里发现了一个类似的问题:
似乎唯一的办法就是使用 Google API JS 进行身份验证
解决方案:
步骤 1:
我已经在我的 angular 项目中安装了 ng-gapi。 (并配置它)
第 2 步:
通过 google ng-gapi 我登录了
this.gapiService.getAuth()
.subscribe((auth) => {
auth.signIn().then(res => this.signInSuccessHandler(res));
});
步骤 3:
我以 documentation said
步骤 4:
现在通过 ng-gapi 我可以获得令牌
this.gapiService.getAuth().subscribe(x => {
console.log(x.Od.$B);
});
(我不知道是否存在获取 x.Od.$B
的 poper 函数,但它有效)