gpt4 book ai didi

javascript - 如何在angular8中获取angularx-social-login的刷新 token

转载 作者:行者123 更新时间:2023-12-03 17:23:18 25 4
gpt4 key购买 nike

Demo
嗨,我正在使用 angularx-social-login版本 2.2.1在 Angular8 应用程序中。在这里,由于谷歌身份验证 token 过期 1 小时,我必须调用刷新 token 的方法。我浏览了许多网站,但无法获得解决方案。我已经在 app 模块中安装和声明,现在在登录组件中使用来获取身份验证 token 和电子邮件地址,ID 来自登录 google 按钮单击。但是我不知道如何在附近调用刷新方法以获取到期时间。请帮忙。
HTML:

<button type="submit" class="btn btn-primary btn-block" (click)="signInWithGoogle()">Sign in with Google</button>
TS:
public signInWithGoogle(): void {
let socialUser = this.oauthService.signIn(GoogleLoginProvider.PROVIDER_ID).then((userData) => {
if(userData.idToken){

} else {
alert('danger')
}
});
}
app.module.ts:
import { SocialLoginModule, AuthServiceConfig } from "angularx-social-login";
import { GoogleLoginProvider } from "angularx-social-login";

imports: [
SocialLoginModule
],
providers: [
{
provide: AuthServiceConfig,
useFactory: provideConfig
}],

let config = new AuthServiceConfig([
{
id: GoogleLoginProvider.PROVIDER_ID,
provider: new GoogleLoginProvider("1051927480520-u87cv859uap5e6t4r5f52mk96a8a6nhe.apps.googleusercontent.com")
},
]);

export function provideConfig() {
return config;
}
所以从演示中,我可以获得我选择的 gmail 帐户的详细信息,但是 token 会过期一个小时,我需要在它过期之前获取刷新 token 。请帮忙

最佳答案

但是我不确定这个问题是否相关 SocialAuthService来自 angularx-social-login包实际上公开了执行此操作的方法 - refreshAuthToken(providerId: string): Promise<void>;你可以简单地做例如:

refreshUserToken() {
this.socialAuthService.refreshAuthToken(GoogleLoginProvider.PROVIDER_ID).then(() => {
// Any post-refresh actions if needed
});
}
或者:
async refreshUserToken() {
await this.socialAuthService.refreshAuthToken(GoogleLoginProvider.PROVIDER_ID);
}
如果您已经订阅 authState改变你会得到一个新的 SocialUser (新的,刷新的 authToken )刷新后。看这个方法 implementation在 Github 上。
免责声明:查看它仅适用于 Google 登录的实现。

关于javascript - 如何在angular8中获取angularx-social-login的刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64531980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com