簡體   English   中英

firebase電話驗證不會重新發送代碼[React Native]

[英]firebase phone auth doesn't resend code [React Native]

我正在使用React Native Firebase電話身份驗證,並且它第一次起作用。 但是當我嘗試第二次,第三次使用該號碼來簽到WithInPhoneNumber時,我似乎無法重新發送OTP代碼

在此處輸入圖片說明

firebase會自動假定該號碼已經登錄。firebase控制台上有該號碼,但是我完全沒有驗證OTP代碼。

我嘗試從控制台刪除該號碼,然后再次執行signInWithPhoneNumber,但結果仍然相同:

據我所知,如果您嘗試使用signInWithPhoneNumber或verifyPhoneNumber,firebase將重新發送OTP代碼嗎?

我在哪里做錯了?

在此處輸入圖片說明

這里可能發生兩件事:

  • 設置電話驗證時,您可能將超時設置得太高
  • 您可能尚未設置正在進行電話驗證的標記

您可以在Firebase電話身份驗證文檔中看到更多信息

verifyPhoneNumber方法是可重入的:如果您多次調用它,例如在活動的onStart方法中,除非原始請求已超時,否則verifyPhoneNumber方法將不會發送第二條SMS。

如果您的應用在用戶可以登錄之前關閉(例如,當用戶使用其SMS應用時),則可以使用此行為來恢復電話號碼登錄過程。 調用verifyPhoneNumber后,設置一個標志,指示正在進行驗證。 然后,將標志保存在Activity的onSaveInstanceState方法中,並在onRestoreInstanceState中還原該標志。 最后,在您的Activity的onStart方法中,檢查是否已在進行驗證,如果是,請再次調用verifyPhoneNumber。 驗證完成或失敗時,請確保清除該標志(請參閱驗證回調)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM