В моем приложении я позволяю пользователю менять электронную почту. Для этого я использую api updateEmail .
Я использую Firebase Auth на iOS (Swift) и у меня доступна опция «Войти через Apple».
Здесь вот что сбивает с толку:
- У пользователя есть Apple ID с электронной почтой
john@icloud.com
. Это также электронная почта в Firebase. Таким образом, Apple ID и адрес электронной почты в Firebase идентичны: john@icloud.com
. Это то, что используется для входа в Firebase Auth с помощью входа в Apple. - Пользователь заходит в приложение и меняет свою электронную почту на
new@gmail.com
. Это делается с помощью updateEmail api.
ПРИМЕЧАНИЕ. У пользователя есть только 1 учетная запись, и это с Apple, использующей Вход с Apple. Пользователь никогда не создает вторую учетную запись. Переключение электронной почты происходит в одном аккаунте. Единственный способ входа - с помощью Apple.
В основном, если пользователь использует Вход с Apple и входит в систему как john@icloud.com
, но затем изменяет свою электронную почту на new@gmail.com
с помощью Firebase, UID
в Firebase - это то же самое, что хорошо. Что сбивает с толку, так это то, что для входа в систему пользователь по-прежнему использует обычную электронную почту Apple: john@icloud.com
(опция «Войти через Apple»). Адрес электронной почты в Firebase - new@gmail.com
, но для входа в систему используется john@icloud.com
.
В API нет ошибок. Однако следует ли разрешить пользователям изменять электронную почту в этом случае? Это нормально и ожидаемый опыт пользователя? Это сбивает с толку?