首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用google对象登录:{" ERROR ":"popup_closed_by_user"}

无法使用google对象登录:{" ERROR ":"popup_closed_by_user"}
EN

Stack Overflow用户
提问于 2022-06-11 17:55:24
回答 3查看 579关注 0票数 -1

我正在使用google,并试图使用该库与google登录:我的角版本是13。我已经跟踪了这个博客https://medium.com/@danilrabizo/google-authentication-in-the-angular-application-e86df69be58a

当我设置我自己的代码时,我面临以下错误:

当我使用这个博客中给出的客户端id时,它工作得很完美。但是当我使用我自己的客户身份时,我会得到这个错误。请帮帮我。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-14 12:17:44

尝试在plugin_name中添加GoogleLoginProvider和作用域

解决方案-截图

票数 1
EN

Stack Overflow用户

发布于 2022-07-07 18:22:06

我同意圆锥给出的解决方案。

实际上,在2022年7月29日之前创建的新客户端ID可以使用旧的Google平台库。默认情况下,新创建的客户端ID现在被阻止使用平台库,而必须使用更新的Google标识服务库。您可以选择任何值,建议使用描述性名称,如产品或插件名称,以便于识别。

例如:plugin_name:'login‘。

请阅读我的文章使用OAuth 2.0与谷歌的角14登录,其中我解释了每一步。

代码语言:javascript
运行
复制
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();
      });
    }
票数 2
EN

Stack Overflow用户

发布于 2022-08-26 14:03:00

我面对这个问题是为了我的角度应用。我是用@abacritt/angularx-社会化登录软件包做角度v14的。谢谢Coneh给出的解决办法,这个问题现在解决了。此问题发生在所有新创建的客户端ID上。这可以通过在提供程序中添加“plugin_name”来克服。

在app.module.ts中,我创建了一个保存“plugin_name”的对象。

代码语言:javascript
运行
复制
const googleLoginOptions = {
  scope: 'profile email',
  plugin_name:'sample_login' //this can be any string
}; 

在提供者中,将“googleLoginOptions”对象与google一起传递。

代码语言:javascript
运行
复制
@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-社会化登录-文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72586705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档