Зарегистрируйте пользователя с тем же адресом электронной почты у другого провайдера, если уже зарегистрированный адрес электронной почты не выдает ошибку - PullRequest
0 голосов
/ 22 июня 2019

Я зарегистрировал пользователя в Google oauth. Когда я пытаюсь использовать тот же адрес электронной почты для регистрации пользователя Microsoft, у меня появляется бесконечный экран загрузки. Я сначала перенаправлен к поставщику, чтобы войти с учетными данными поставщика. Затем я перенаправлен обратно в мое приложение. Ошибка не выдается, я просто перенаправлен на главную страницу входа в систему, а виджет firebaseui показывает бесконечную полосу загрузки.

Экран бесконечной загрузки

Я попробовал демоверсию с firebasui github, и она работает как положено. Когда я регистрируюсь с тем же адресом электронной почты, появляется сообщение об ошибке с просьбой войти в свою учетную запись Google. В моем приложении я использую угловую оболочку firebasui firebaseui-wrapper. Я пытался использовать только firebaseui без оболочки, но результат был тот же. Я слушаю authstatechanges, но изменения authstate не выдаются. Возможно, потому что пользователь не аутентифицирован в приложении. firebaseui предоставляет даже получателям signInSuccessWithAuthResult и signInFailure. Ни один из них не выдает никаких ошибок или результатов.

Нет ошибки при попытке зарегистрировать электронную почту пользователя, которая уже зарегистрирована в моем приложении у провайдера Google, у провайдера Microsoft. Ожидается, что виджет 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 голосов
/ 23 июня 2019

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 для отображения вида, но системный модуль входа в систему можно использовать в любом месте.
  • Моя библиотека не имеет возможности войти / войти с несколькими провайдерами, возможно, в будущем.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...