Я определяю, проверено ли электронное письмо с помощью firebase с помощью инструкции, указанной в заголовке, и оно работает, но со странной ошибкой.

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

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

Что я мог сделать, если электронная почта проверена, возвращается, что она проверена с первой попытки?

0
user2638180 2 Май 2021 в 21:37

1 ответ

Лучший ответ

По-видимому, вы все еще используете старый Firebase IdToken, и, следовательно, он показывает старое состояние. Та же проблема возникает, когда вы обновляете пользовательские утверждения, но если вы по-прежнему продолжаете использовать старый idtoken, пользовательские утверждения не отражаются.

user.getIdToken(true).addOnSuccessListener(new OnSuccessListener<GetTokenResult>() {
  @Override
  public void onSuccess(GetTokenResult result) {
    String idToken = result.getToken();
    //Do whatever
    Log.d(TAG, "GetTokenResult result = " + idToken);
  }
});

Вы должны передать true в getIdToken, чтобы он обновил токен, а затем проверил, отображается ли электронное письмо как подтвержденное с первого раза. Чтобы убедиться в том, что я объяснил выше, вы можете попробовать зарегистрировать idtoken и посмотреть, проверено ли электронное письмо на старом и новом idtoken.

1
Dharmaraj 2 Май 2021 в 18:42