当电子邮件已注册时,使用同一电子邮件向不同的提供商注册用户不会引发错误



我在google oauth注册了一个用户。当我尝试使用相同的电子邮件注册Microsoft用户时,我得到了无尽的加载屏幕。我首先重定向到提供程序以使用提供程序凭据登录。然后我重定向回我的应用程序。没有抛出错误,我只是重定向到主登录页面,Firebaseui 小部件显示无尽的加载栏。

无尽加载屏幕

我尝试了来自firebasui github的演示,它的性能符合预期。当我使用相同的电子邮件注册时,会弹出一个错误,要求我使用我的谷歌帐户登录。在我的应用程序中,我使用 firebasui 角包装器 firebaseui-wrapper。我尝试只使用没有包装器的火碱,但结果是一样的。我正在侦听身份验证状态更改,但没有发出身份验证状态更改。可能是因为用户未在应用程序中进行身份验证,Firebaseui 向事件发射器公开 signInSuccessWithAuthResult 和 signInFailure。它们都不会发出任何错误或结果。

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

我的登录选项从火巴苏模块

signInFlow: 'popup',
signInOptions: [
auth.GoogleAuthProvider.PROVIDER_ID,
{
buttonColor:"#000000",
iconUrl: "https://learn.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'
}
}

在我看来,Firebaseui至少对于Angular来说是一个垃圾库。我做了我的一个。

  • 我的库只负责管理用户身份验证。
  • 您可以选择如何显示登录面板。
  • 增加了管理/翻译错误的可能性,但您必须制作自己的服务。在服务中,实现AuthErrorHandler,并在模块中将AuthErrorHandlerService切换到新服务。将来会尝试用它做点什么。
  • 内部存储库 您有"身份验证测试"文件夹示例应用程序。显示面板我正在使用@angular/material.

存储库 git:https://bitbucket.org/mises543/fire-ngx-auth

NPM:https://www.npmjs.com/package/@fire-ngx/auth

相关内容

  • 没有找到相关文章

最新更新