sendSMSToken method

  1. @override
Future<Either<AuthFailure, ExaAuthUser?>> sendSMSToken({
  1. required String verificationId,
  2. required String smsToken,
})
override

Sends an SMS token for phone number authentication. Returns an Either containing AuthFailure or ExaAuthUser.

Implementation

@override
Future<Either<AuthFailure, ExaAuthUser?>> sendSMSToken({
  required String verificationId,
  required String smsToken,
}) async {
  try {
    final credential = PhoneAuthProvider.credential(
      verificationId: verificationId,
      smsCode: smsToken,
    );
    debugPrint("teste1 $verificationId");
    debugPrint("teste $smsToken");
    if (ExaAuth.onlyCredential) {
      return right(ExaAuthUser.withCredential(credential: credential));
    } else {
      final userCredential = await _signInWithCredential(credential);
      return right(_resolveUser(firebaseUser: userCredential.user));
    }
  } catch (exception, stackTrace) {
    return left(_resolveException(
        exception: exception,
        stackTrace: stackTrace,
        locale: 'sendSMSToken',
        sigInType: SigInType.phone));
  }
}