Firebase Authentication link пароль для входа без пароля и адрес электронной почты / пароль - PullRequest
0 голосов
/ 03 мая 2020

В настоящее время я занимаюсь разработкой приложения для своего веб-приложения. В настоящее время процесс выглядит следующим образом:

  1. Пользователь заполняет страницу «Попробовать» на веб-сайте, заполнив свою электронную почту. Я использую Firebase Auth, чтобы отправить пользователю электронное письмо с подтверждением, используя метод без пароля sendSignInLinkToEmail.
  2. Пользователь нажимает ссылку подтверждения в своей папке входящих сообщений, которая, в свою очередь, проверяет свою электронную почту и создает пользователя Firebase Auth. используя тип ссылки «Электронная почта» (подтип поставщика электронной почты / пароля).
  3. Пользователь начинает входящий поток, который на первой странице запрашивает у него пароль.

Я хочу предоставить обоим вход с электронной почтой / паролем и вход по электронной почте, однако, похоже, что оба они считаются одним и тем же провайдером, когда я пытаюсь позвонить auth.currentUser.linkWithCredential с новыми учетными данными EmailAuthProvider, созданными с использованием их электронной почты и пароль (подробно здесь ), я получаю ошибку auth/provider-already-linked.

Так как не представляется возможным сделать эту ссылку, так как вход в систему электронной почты / пароля и ссылки на электронную почту находятся под того же провайдера, я также рассмотрел вызов updatePassword (документы здесь ) для текущего пользователя, но кажется, что это всегда гарантированно выдает auth/requires-recent-login ошибка, даже если пользователь только что щелкнул подтверждающее электронное письмо.

Мой вопрос: есть ли у кого-нибудь опыт поддержки обоих этих методов входа и знаете, какой подход я должен использовать? Возможно ли это даже (кажется, что это здесь )? Документы не делают это особенно ясно. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...