sendEmailVerification method
Future<Either<AuthServiceEmailVerificationFailure, Unit> >
sendEmailVerification([
- ActionCodeSettings? actionCodeSettings
override
Send email verification to current user.
Pass actionCodeSettings to customize the verification email's action
URL (e.g. a custom in-app /verify route routed via Universal Links /
App Links / Web). When omitted, Firebase uses its default hosted
firebaseapp.com/__/auth/action page.
Implementation
@override
Future<Either<AuthServiceEmailVerificationFailure, Unit>> sendEmailVerification([
fb_auth.ActionCodeSettings? actionCodeSettings,
]) async {
try {
final user = _fbAuth.currentUser;
if (user == null) {
logw('sendEmailVerification: No user logged in');
return left(AuthServiceEmailVerificationFailure.userNotLoggedIn);
}
logd('sendEmailVerification: Sending verification email to ${user.email}');
await user.sendEmailVerification(actionCodeSettings);
logd('sendEmailVerification: Email sent successfully');
return right(unit);
} on fb_auth.FirebaseAuthException catch (e) {
loge(e, 'sendEmailVerification failed');
if (e.code == 'too-many-requests') {
return left(AuthServiceEmailVerificationFailure.tooManyRequests);
}
return left(AuthServiceEmailVerificationFailure.unexpected);
} catch (e) {
loge(e, 'sendEmailVerification failed');
return left(AuthServiceEmailVerificationFailure.unexpected);
}
}