diff --git a/android/src/main/java/io/invertase/firebase/auth/RNFirebaseAuth.java b/android/src/main/java/io/invertase/firebase/auth/RNFirebaseAuth.java index 92bd3f50..a3f7af72 100644 --- a/android/src/main/java/io/invertase/firebase/auth/RNFirebaseAuth.java +++ b/android/src/main/java/io/invertase/firebase/auth/RNFirebaseAuth.java @@ -183,7 +183,7 @@ class RNFirebaseAuth extends ReactContextBaseJavaModule { /** * The phone number and SMS code here must have been configured in the * Firebase Console (Authentication > Sign In Method > Phone). - * + *

* Calling this method a second time will overwrite the previously passed parameters. * Only one number can be configured at a given time. * @@ -898,9 +898,12 @@ class RNFirebaseAuth extends ReactContextBaseJavaModule { if (withData) { promiseWithAuthResult(task.getResult(), promise); } else { - promiseWithUser(task - .getResult() - .getUser(), promise); + promiseWithUser( + task + .getResult() + .getUser(), + promise + ); } } else { Exception exception = task.getException(); @@ -960,7 +963,15 @@ class RNFirebaseAuth extends ReactContextBaseJavaModule { // as calling ConfirmationResult.confirm(code) is invalid in this case anyway if (!promiseResolved) { WritableMap verificationMap = Arguments.createMap(); - verificationMap.putNull("verificationId"); + + Parcel parcel = Parcel.obtain(); + phoneAuthCredential.writeToParcel(parcel, 0); + parcel.setDataPosition(16); // verificationId + String verificationId = parcel.readString(); + mVerificationId = verificationId; + parcel.recycle(); + + verificationMap.putString("verificationId", verificationId); promise.resolve(verificationMap); } } else { @@ -1062,9 +1073,12 @@ class RNFirebaseAuth extends ReactContextBaseJavaModule { TAG, "_confirmVerificationCode:signInWithCredential:onComplete:success" ); - promiseWithUser(task - .getResult() - .getUser(), promise); + promiseWithUser( + task + .getResult() + .getUser(), + promise + ); } else { Exception exception = task.getException(); Log.e(