amplify-flutter icon indicating copy to clipboard operation
amplify-flutter copied to clipboard

feat(auth): TOTP MFA

Open dnys1 opened this issue 2 years ago • 1 comments

Introduces TOTP MFA with registration and verification flows. There are no new APIs for this approach. Instead, confirmSignIn is leveraged with two new sign in step types: mfaSetup and confirmSignInWithTotpMfaCode.


Stack:

  • #1769
  • #1768
  • #1767

⚠️ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

dnys1 avatar Jun 18 '22 21:06 dnys1

Codecov Report

Merging #1770 (1fd97f8) into pr/dnys1/missing-flows/59c9c765 (e470a7e) will not change coverage. The diff coverage is n/a.

@@                       Coverage Diff                        @@
##           pr/dnys1/missing-flows/59c9c765    #1770   +/-   ##
================================================================
  Coverage                            44.49%   44.49%           
================================================================
  Files                                  121      121           
  Lines                                 7493     7493           
================================================================
  Hits                                  3334     3334           
  Misses                                4159     4159           
Flag Coverage Δ
android-unit-tests ∅ <ø> (∅)
flutter-unit-tests 27.25% <ø> (ø)
ios-unit-tests 89.08% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

codecov-commenter avatar Jun 18 '22 22:06 codecov-commenter

@dnys1 Thanks for tackling this! When do you estimate this feature will be released?

schreyerpeter avatar Mar 02 '23 01:03 schreyerpeter

@schreyerpeter no firm timelines at the moment unfortunately. We are looking to how best to release this and will add an update to the TOTP tracking ticket (https://github.com/aws-amplify/amplify-flutter/issues/574) when we have a good estimate.

dnys1 avatar Mar 02 '23 04:03 dnys1

@schreyerpeter no firm timelines at the moment unfortunately. We are looking to how best to release this and will add an update to the TOTP tracking ticket (#574) when we have a good estimate.

Thank you very much! I'll keep an eye on that thread.

schreyerpeter avatar Mar 02 '23 06:03 schreyerpeter

Any news?

bjernie avatar Mar 14 '23 12:03 bjernie

@dnys1 / @abdallahshaban557 Just checking to see if there's an update on getting this change merged and released? Anything that we can help with to get it over the line? I'd like to avoid forking the code and maintaining a seperate instance just to get something as fundamental as 2FA in place for Flutter.

Note: There is one other API that's missing getPreferredMFA() in order to determine the user's current setting. Happy to help put that together if it can all be merged in together.

chrisdadej avatar May 24 '23 02:05 chrisdadej

Hi @chrisdadej - we are getting really close to shipping this feature. We are just finalizing some interface changes to align our implementation to the other Amplify libraries. How soon do you need this?

abdallahshaban557 avatar May 24 '23 04:05 abdallahshaban557

@abdallahshaban557 In development... yesterday :) In production we are targeting July 1 hence thinking of what a Plan B looks like if this functionality isn't ready.

If you need extra testers, or help in building out for example the getPreferredMFA() API please let me know. More than happy to help - it doesn't have to have perfect feature parity with the React library, but the auth / cognito / 2fa capabilities are a must.

chrisdadej avatar May 24 '23 04:05 chrisdadej

Understood - thank you for pushing us to get this out sooner. We are trying our best to get it out ASAP, and we will keep your offer in mind to help us get this out sooner if possible. Thank you so much! Helping us test sounds amazing actually!

abdallahshaban557 avatar May 24 '23 04:05 abdallahshaban557

Closing in favor of https://github.com/aws-amplify/amplify-flutter/pull/3146

dnys1 avatar Jun 05 '23 18:06 dnys1