2016-05-31 2 views
0

Если я зарегистрируюсь на Facebook ([email protected]), а позже зарегистрируйтесь в Google ([email protected]), но у меня нет такого же адреса электронной почты на обоих провайдерах, там создаются 2 пользователя. Как я могу справиться с этой ситуацией?Firebase: провайдеры аутентификации различного адреса электронной почты

ответ

0

Вы должны использовать API-интерфейсы привязки учетной записи для аутентификации нескольких поставщиков для одной и той же учетной записи. Доступны документы для Web, Android и iOS.

+0

Я хотел задать новый вопрос в документации на веб-страницу, о которой вы говорили, потому что мне это не ясно. Используется ли метод 'auth.currentUser.link' для связи существующих пользователей (email/password) с любым из поставщиков аутентификации? Даже если это так: 4 балла абсолютно непонятны. Не могли бы вы предоставить мне пример кода того, что вы понимаете в веб-документах, пожалуйста? Это очень помогло бы мне – gr3g

1

Ссылка обычно используется в трех случаях: Автоматически запрашивается бэкэнд по соображениям безопасности: когда пользователь подписывается в Google, например, с адресом электронной почты x @ x, а затем выходит из системы и пытается войти в систему с помощью новой учетной записи facebook х @ х. В этом случае бэкэнд не завершит второй знак без проверки того, что второй пользователь совпадает с первым пользователем (поскольку оба используют один и тот же адрес электронной почты). Таким образом, в этом случае пользователь должен подписаться на учетную запись google, а затем связать вторую учетную запись facebook с исходной.

Вручную запускается разработчиком: один из распространенных случаев заключается в том, что пользователь подписывается в Google с адресом электронной почты x @ x и остается подписанным. Разработчик хочет получить доступ к друзьям пользователя facebook. Поэтому разработчик попросит пользователя связать свою учетную запись facebook с уже зарегистрированным пользователем google.

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

Таким образом, auth.currentUser.link может быть создан для всех пользователей, если учетная запись, которую вы связываете, является новой и уже не связана.

Смежные вопросы