在已经注册的电子邮件没有错误的情况下,向不同的提供商用同一电子邮件注册用户

时间:2019-06-22 16:09:34

标签: angular firebase firebase-authentication angular7 firebaseui

我已经用google oauth注册了用户。当我尝试使用同一封电子邮件注册Microsoft用户时,出现无休止的加载屏幕。我首先重定向到提供程序以使用提供程序凭据登录。林然后重定向回我的应用程序。没有引发任何错误,我只是简单地重定向到了主登录页面,firebaseui小部件显示了无尽的加载栏。

endlessloading screen

我已经尝试了来自firebasui github的演示,并且按预期执行。当我使用相同的电子邮件注册时,会弹出错误消息,要求我使用我的Google帐户登录。在我的应用程序中,我使用firebasui角度包装器firebaseui-wrapper。我尝试仅使用firebaseui而不使用包装器,但结果是相同的。我正在听authstatechanges,但没有发出authstate更改。可能是因为用户未在应用程序中通过身份验证。 firebaseui向事件发射器公开signInSuccessWithAuthResult和signInFailure。它们都不会发出任何错误或结果。

当我尝试在我的应用程序中向Microsoft提供程序注册已经向Google提供程序注册的用户电子邮件时,不会引发任何错误。 Firebaseui小部件有望在该小部件中显示一条通知,告知用户该用户已经退出

firebasui模块中的我的登录选项

 signInFlow: 'popup',
 signInOptions: [
 auth.GoogleAuthProvider.PROVIDER_ID,
 {
  buttonColor:"#000000",
  iconUrl: "https://docs.microsoft.com/en-us/azure/active- 
  directory/develop/media/howto-add-branding-in-azure-ad-apps/ms- 
  symbollockup_mssymbol_19.png",
  provider:    new auth.OAuthProvider('microsoft.com').providerId,
  providerName: "Microsoft",
  customParameters:{
    tenant: 'myspace.com'
  }
  }

1 个答案:

答案 0 :(得分:0)

firebaseui是一个废话库。找不到任何好的图书馆,所以我正在自己的图书馆里工作。也许大约一个月后,我会将其放在npm软件包中。

您可以将库文件复制/粘贴到您的项目中: https://bitbucket.org/mises333/ngx-fire/src/master/projects/ngx-fire/auth/src/lib/

测试应用:https://bitbucket.org/mises333/ngx-fire/src/master/projects/auth-test/

  • 测试应用程序正在使用Angular Material来显示视图,但是登录系统模块可以在任何您想要的地方使用。
  • 我的图书馆将来可能无法与多个提供商进行登录/登录。