Skip to content

Commit

Permalink
chore: use confirmSignInWithEmailMfaCode instead of confirmSignInMfa
Browse files Browse the repository at this point in the history
  • Loading branch information
khatruong2009 committed Oct 2, 2024
1 parent 3e7d4f6 commit cf2da85
Show file tree
Hide file tree
Showing 9 changed files with 41 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -719,6 +719,7 @@ class _AuthenticatorState extends State<Authenticator> {
continueSignInWithEmailMfaSetupForm:
ContinueSignInWithEmailMfaSetupForm(),
confirmSignInWithTotpMfaCodeForm: ConfirmSignInMFAForm(),
confirmSignInWithEmailMfaCodeForm: ConfirmSignInMFAForm(),
verifyUserForm: VerifyUserForm(),
confirmVerifyUserForm: ConfirmVerifyUserForm(),
child: widget.child,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,6 @@ class StateMachineBloc

switch (result.nextStep.signInStep) {
case AuthSignInStep.confirmSignInWithSmsMfaCode:
case AuthSignInStep.confirmSignInWithEmailMfaCode:
yield UnauthenticatedState.confirmSignInMfa;
case AuthSignInStep.confirmSignInWithCustomChallenge:
yield ConfirmSignInCustom(
Expand All @@ -228,6 +227,8 @@ class StateMachineBloc
yield UnauthenticatedState.confirmSignInNewPassword;
case AuthSignInStep.confirmSignInWithTotpMfaCode:
yield UnauthenticatedState.confirmSignInWithTotpMfaCode;
case AuthSignInStep.confirmSignInWithEmailMfaCode:
yield UnauthenticatedState.confirmSignInWithEmailMfaCode;
case AuthSignInStep.continueSignInWithMfaSelection:
yield ContinueSignInWithMfaSelection(
allowedMfaTypes: result.nextStep.allowedMfaTypes,
Expand Down Expand Up @@ -322,7 +323,6 @@ class StateMachineBloc
}) async {
switch (result.nextStep.signInStep) {
case AuthSignInStep.confirmSignInWithSmsMfaCode:
case AuthSignInStep.confirmSignInWithEmailMfaCode:
_notifyCodeSent(result.nextStep.codeDeliveryDetails?.destination);
_emit(UnauthenticatedState.confirmSignInMfa);
case AuthSignInStep.confirmSignInWithCustomChallenge:
Expand Down Expand Up @@ -360,6 +360,9 @@ class StateMachineBloc
_emit(UnauthenticatedState.continueSignInWithEmailMfaSetup);
case AuthSignInStep.confirmSignInWithTotpMfaCode:
_emit(UnauthenticatedState.confirmSignInWithTotpMfaCode);
case AuthSignInStep.confirmSignInWithEmailMfaCode:
_notifyCodeSent(result.nextStep.codeDeliveryDetails?.destination);
_emit(UnauthenticatedState.confirmSignInWithEmailMfaCode);
case AuthSignInStep.resetPassword:
_emit(UnauthenticatedState.confirmResetPassword);
case AuthSignInStep.confirmSignUp:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,13 +150,13 @@ abstract class AuthenticatorTitleLocalizations {
/// Title of the Continue Sign In with Email MFA Setup step and form
///
/// In en, this message translates to:
/// **'Set up Email Two-Factor Auth'**
/// **'Add Email for Two-Factor Authentication'**
String get continueSignInWithEmailMfaSetup;

/// Title of the Continue Sign In with MFA Setup Selection step and form
///
/// In en, this message translates to:
/// **'Select a Two-Factor Auth method to set up'**
/// **'Choose your preferred two-factor authentication method to set up'**
String get continueSignInWithMfaSetupSelection;

/// Title of the Reset Password step and form
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ class AuthenticatorTitleLocalizationsEn
String get confirmSignInWithEmailMfaCode => 'Enter your one-time passcode';

@override
String get continueSignInWithEmailMfaSetup => 'Set up Email Two-Factor Auth';
String get continueSignInWithEmailMfaSetup => 'Add Email for Two-Factor Authentication';

@override
String get continueSignInWithMfaSetupSelection =>
'Select a Two-Factor Auth method to set up';
'Choose your preferred two-factor authentication method to set up';

@override
String get resetPassword => 'Send Code';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,14 @@ class AuthenticatorScreen extends StatelessAuthenticatorComponent {
const AuthenticatorScreen.confirmSignInWithTotpMfaCode({Key? key})
: this(key: key, step: AuthenticatorStep.confirmSignInWithTotpMfaCode);

const AuthenticatorScreen.confirmSignInWithEmailMfaCode({Key? key})
: this(key: key, step: AuthenticatorStep.confirmSignInWithEmailMfaCode);

const AuthenticatorScreen.continueSignInWithEmailMfaSetup({Key? key})
: this(key: key, step: AuthenticatorStep.continueSignInWithEmailMfaSetup);

const AuthenticatorScreen.continueSignInWithMfaSetupSelection({Key? key})
: this(
key: key,
step: AuthenticatorStep.continueSignInWithMfaSetupSelection);
: this(key: key, step: AuthenticatorStep.continueSignInWithMfaSetupSelection);

const AuthenticatorScreen.resetPassword({Key? key})
: this(key: key, step: AuthenticatorStep.resetPassword);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ class UnauthenticatedState extends AuthState
static const continueSignInWithEmailMfaSetup = UnauthenticatedState(
step: AuthenticatorStep.continueSignInWithEmailMfaSetup,
);
static const confirmSignInWithEmailMfaCode = UnauthenticatedState(
step: AuthenticatorStep.confirmSignInWithEmailMfaCode,
);
static const resetPassword =
UnauthenticatedState(step: AuthenticatorStep.resetPassword);
static const confirmResetPassword =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,23 @@ class AuthenticatorState extends ChangeNotifier {
_setIsBusy(false);
}

/// complete Email MFA setup using the values for [confirmationCode]
Future<void> confirmEmailMfa() async {
if (!_formKey.currentState!.validate()) {
return;
}

_setIsBusy(true);

final confirm = AuthConfirmSignInData(
confirmationValue: _confirmationCode.trim(),
);

_authBloc.add(AuthConfirmSignIn(confirm));
await nextBlocEvent();
_setIsBusy(false);
}

/// Complete MFA setup using the values for [confirmationCode]
Future<void> continueEmailMfaSetup() async {
if (!_formKey.currentState!.validate()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ class InheritedForms extends InheritedWidget {
required this.continueSignInWithTotpSetupForm,
required this.continueSignInWithEmailMfaSetupForm,
required this.confirmSignInWithTotpMfaCodeForm,
required this.confirmSignInWithEmailMfaCodeForm,
required this.verifyUserForm,
required this.confirmVerifyUserForm,
required super.child,
Expand All @@ -37,6 +38,7 @@ class InheritedForms extends InheritedWidget {
final ContinueSignInWithTotpSetupForm continueSignInWithTotpSetupForm;
final ContinueSignInWithEmailMfaSetupForm continueSignInWithEmailMfaSetupForm;
final ConfirmSignInMFAForm confirmSignInWithTotpMfaCodeForm;
final ConfirmSignInMFAForm confirmSignInWithEmailMfaCodeForm;
final ResetPasswordForm resetPasswordForm;
final ConfirmResetPasswordForm confirmResetPasswordForm;
final VerifyUserForm verifyUserForm;
Expand Down Expand Up @@ -69,7 +71,7 @@ class InheritedForms extends InheritedWidget {
case AuthenticatorStep.continueSignInWithEmailMfaSetup:
return continueSignInWithEmailMfaSetupForm;
case AuthenticatorStep.confirmSignInWithEmailMfaCode:
return confirmSignInMFAForm;
return confirmSignInWithEmailMfaCodeForm;
case AuthenticatorStep.resetPassword:
return resetPasswordForm;
case AuthenticatorStep.confirmResetPassword:
Expand Down Expand Up @@ -116,6 +118,8 @@ class InheritedForms extends InheritedWidget {
continueSignInWithTotpSetupForm ||
oldWidget.confirmSignInWithTotpMfaCodeForm !=
confirmSignInWithTotpMfaCodeForm ||
oldWidget.confirmSignInWithEmailMfaCodeForm !=
confirmSignInWithEmailMfaCodeForm ||
oldWidget.continueSignInWithEmailMfaSetupForm !=
continueSignInWithEmailMfaSetupForm ||
oldWidget.continueSignInWithMfaSelectionForm !=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,9 @@ abstract class AuthenticatorFormFieldState<
case AuthenticatorStep.confirmSignInCustomAuth:
state.confirmSignInCustomAuth();
case AuthenticatorStep.confirmSignInMfa:
case AuthenticatorStep.confirmSignInWithEmailMfaCode:
state.confirmSignInMFA();
case AuthenticatorStep.confirmSignInWithEmailMfaCode:
state.confirmEmailMfa();
case AuthenticatorStep.confirmSignInNewPassword:
state.confirmSignInNewPassword();
case AuthenticatorStep.confirmSignInWithTotpMfaCode:
Expand Down

0 comments on commit cf2da85

Please sign in to comment.