我正在使用google,并试图使用该库与google登录:我的角版本是13。我已经跟踪了这个博客https://medium.com/@danilrabizo/google-authentication-in-the-angular-application-e86df69be58a。
当我设置我自己的代码时,我面临以下错误:
当我使用这个博客中给出的客户端id时,它工作得很完美。但是当我使用我自己的客户身份时,我会得到这个错误。请帮帮我。
谢谢!
发布于 2022-06-14 12:17:44
尝试在plugin_name中添加GoogleLoginProvider和作用域
发布于 2022-07-07 18:22:06
我同意圆锥给出的解决方案。
实际上,在2022年7月29日之前创建的新客户端ID可以使用旧的Google平台库。默认情况下,新创建的客户端ID现在被阻止使用平台库,而必须使用更新的Google标识服务库。您可以选择任何值,建议使用描述性名称,如产品或插件名称,以便于识别。
例如:plugin_name:'login‘。
请阅读我的文章使用OAuth 2.0与谷歌的角14登录,其中我解释了每一步。
googleAuthSDK() {
(<any>window)['googleSDKLoaded'] = () => {
(<any>window)['gapi'].load('auth2', () => {
this.auth2 = (<any>window)['gapi'].auth2.init({
client_id: 'YOUR CLIENT ID',
plugin_name:'login',
cookiepolicy: 'single_host_origin',
scope: 'profile email'
});
this.callLogin();
});
}
发布于 2022-08-26 14:03:00
我面对这个问题是为了我的角度应用。我是用@abacritt/angularx-社会化登录软件包做角度v14的。谢谢Coneh给出的解决办法,这个问题现在解决了。此问题发生在所有新创建的客户端ID上。这可以通过在提供程序中添加“plugin_name”来克服。
在app.module.ts中,我创建了一个保存“plugin_name”的对象。
const googleLoginOptions = {
scope: 'profile email',
plugin_name:'sample_login' //this can be any string
};
在提供者中,将“googleLoginOptions”对象与google一起传递。
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
NgbModule,
AppRoutingModule,
CommonModule,
HttpClientModule,
SocialLoginModule
],
schemas: [ CUSTOM_ELEMENTS_SCHEMA ],
providers: [
{
provide: 'SocialAuthServiceConfig',
useValue: {
autoLogin: false,
providers: [
{
id: GoogleLoginProvider.PROVIDER_ID,
provider: new GoogleLoginProvider(
'YOUR GOOGLE CLIENT_ID',
googleLoginOptions
)
}
],
onError: (err) => {
console.error(err);
}
} as SocialAuthServiceConfig,
}
],
bootstrap: [AppComponent]
})
现在,清除浏览器缓存,它应该是工作的。对于app.component.ts中的更改,您可以参考@abacritt/angularx-社会化登录-文档
https://stackoverflow.com/questions/72586705
复制相似问题