В нашем приложении мы используем «Одна учетная запись для каждого адреса электронной почты». Мы хотим, чтобы пользователи подписывались с использованием определенного поставщика проверки подлинности, который мы отслеживаем, и придерживаемся его.Автоматическое связывание ссылок
То, что я заметил сегодня, заключается в том, что если я войду в систему с помощью поставщика Google или Facebook, я могу отправить ссылку на сброс пароля на соответствующий адрес электронной почты, что позволит мне вместо этого использовать поставщик электронной почты/пароля. Существует небольшое различие в поведении в зависимости от первого поставщика:
- Если я первый использовать Google, после того, как я использую ссылку для сброса пароля теперь я могу пользователь либо поставщик войти в систему, и оба они связаны с тем же firebase uid. Если я отлаживаю, я могу видеть как в массиве providerDetails объекта authData, который я возвращаюсь из Firebase.
- Если я использую Facebook первым, после того, как я использую ссылку на пароль, поставщик пароля полностью заменяет Facebook, хотя он сохраняет старый firebase uid. На этом этапе я больше не могу использовать вход в Facebook.
Мои вопросы: это поведение предназначено и есть ли способ отключить его?
Это может привести к путанице, если вы скажете, что пользователь входит в систему с помощью Facebook (который мы отслеживаем), а затем забывает и отправляет сбрасывание пароля. Это не конец света, потому что они могут продолжать использовать пароль для входа в систему, но он, конечно, загрязняет воду.
Спасибо
Хороший вопрос, интересующийся персоналом fb! – Pandaiolo