Проблема, когда анонимно вошедший пользователь входит в систему с аутентификацией по телефону - PullRequest
0 голосов
/ 14 июля 2020

Сценарий: я создал приложение expo, в котором, если пользователя нет, я вхожу в систему анонимно с помощью firestore. Я использую свое устройство iPhone для тестирования приложения. Если я остановлю приложение и запущу его снова, приложение будет поддерживать пользователя, с которым я вошел анонимно.

Теперь я реализовал аутентификацию по телефону с помощью следующего кода:

try {
      var phoneNumber = this.state.phoneNumber;
      const phoneProvider = new f.auth.PhoneAuthProvider();
      const verificationId = await phoneProvider.verifyPhoneNumber(
        phoneNumber,
        this.recaptchaVerifier
      );
      this.setState({ verificationId: verificationId });
      this.setState({ index: 1 });
    } catch (err) {
      alert(err.message);
    }

, где вместе с номером телефона и recaptcha , он отправляет код, который возвращает verifyId

для проверки использования следующего кода:

const verificationId = this.state.verificationId;
const verificationCode = this.state.verificationCode;
const credential = f.auth.PhoneAuthProvider.credential(
        verificationId,
        verificationCode
      );
      await auth.currentUser.linkWithCredential(credential)
        .then(function (usercred) {
          console.log("anonymous account upgraded", usercred);
        }).catch(function (error) {
          console.log("Error upgrading anonymous account", error);
          return;
        });

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

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

Спасибо за заранее ..

...