Ionic 错误:未捕获(在承诺中):对象:{"错误":"用户关闭的弹出窗口"}

0x6upsns  于 2022-12-08  发布在  Ionic
关注(0)|答案(1)|浏览(91)

我试图使用谷歌登录离子应用程序使用Angular 11.但我一直收到错误错误:未被捕获的(在承诺中):对象:{“错误”:“用户关闭的弹出窗口”}
同样在警告中,我收到了“您创建了一个新的客户端应用程序,它使用库进行用户身份验证或授权,该库很快将被弃用。现有客户端也必须在这些库被弃用之前迁移。有关详细信息,请参阅Migration Guide。”
我也使用angularx-social-login插件。
如果还需要什么就告诉我需要帮助。

vsnjm48y

vsnjm48y1#

我也遇到过这个问题,我使用"@abacritt/angularx-social-login "登录社交媒体。这个问题发生在所有新创建的Google客户端ID上。如果您使用的是Angular应用程序,可以通过在提供程序中添加" plugin_name "来解决。
在app. module. ts中,创建一个包含"plugin_name"的对象。

const googleLoginOptions = {
  scope: 'profile email',
  plugin_name:'login' //you can use any name here
};

在提供程序中,传递"googleLoginOptions"对象以及google客户端ID。

@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-social-login-documentation
这个解决方案对我很有效。希望这对我有帮助。

相关问题