Как я могу настроить свою платформу идентификации Google для применения правила «один аккаунт на адрес электронной почты» без автоматической привязки учетных данных? - PullRequest
3 голосов
/ 06 января 2020

Как я могу настроить свою платформу идентификации Google для применения правила «один аккаунт на адрес электронной почты» без автоматической привязки учетных данных?

Ожидаемое (желаемое) поведение:

  1. Вход пользователя в систему с помощью Google
  2. Вход пользователя в систему с использованием сторонней аутентификации с использованием того же адреса электронной почты
  3. При аутентификации Firebase выдается ошибка с кодом «auth / account-существующие-with-Different-credential» '
  4. Веб-приложение ловит ошибку и просит пользователя войти в систему с существующим провайдером, прежде чем связывать пользователя с новыми учетными данными из единого входа. (См .: https://firebase.google.com/docs/reference/js/firebase.auth.Auth)

Фактическое поведение :

  1. Вход пользователя в систему с помощью Google
  2. Вход пользователя в систему от стороннего поставщика с использованием того же адреса электронной почты
  3. Google автоматически связывает пользователя с существующей учетной записью

Примечание: это проблема, поскольку сторонний администратор может потенциально создать учетные данные с любым адресом электронной почты для взлома любого аккаунта на нашей платформе.

Справочная информация:

Я использую Firebase с Платформа Google Identity с возможностью интеграции со сторонним SSO. На платформе идентификации включены следующие поставщики:

  1. Аноним
  2. Электронная почта / пароль
  3. Facebook
  4. Google
  5. Сторонние поставщики аутентификация через OKTA

На платформе идентификации не включен ни один арендатор.

В аутентификации firebase включена опция «Одна учетная запись на адрес электронной почты». Эта опция появляется для ссылки на «Связывание учетных записей пользователей - связывать учетные записи с тем же адресом электронной почты» в платформе Identity.

...