Disable 2FA via SMS

This commit is contained in:
Hillel Coren 2022-11-08 14:33:51 +02:00
parent 6156cf6351
commit c5a4ffe2a6
2 changed files with 12 additions and 3 deletions

View File

@ -260,15 +260,20 @@ class _UserSmsVerificationState extends State<UserSmsVerification> {
final state = store.state; final state = store.state;
final localization = AppLocalization.of(context); final localization = AppLocalization.of(context);
final credentials = store.state.credentials; final credentials = store.state.credentials;
final url = formatApiUrl(kReleaseMode ? kAppProductionUrl : kAppStagingUrl);
final navigator = Navigator.of(context); final navigator = Navigator.of(context);
var url = formatApiUrl(kReleaseMode ? kAppProductionUrl : kAppStagingUrl);
url = '$url/sms_reset/confirm';
if (widget.email == null) {
url += '?validate_only=true';
}
setState(() { setState(() {
_isLoading = true; _isLoading = true;
}); });
_webClient _webClient
.post('$url/sms_reset/confirm', credentials.token, .post(url, credentials.token,
data: json.encode({ data: json.encode({
'code': _code, 'code': _code,
'email': widget.email ?? state.user.email, 'email': widget.email ?? state.user.email,
@ -280,7 +285,9 @@ class _UserSmsVerificationState extends State<UserSmsVerification> {
if (navigator.canPop()) { if (navigator.canPop()) {
navigator.pop(); navigator.pop();
} }
showToast(localization.verifiedPhoneNumber); showToast(widget.email == null
? localization.verifiedPhoneNumber
: localization.disabledTwoFactor);
store.dispatch(RefreshData()); store.dispatch(RefreshData());
}).catchError((dynamic error) { }).catchError((dynamic error) {
setState(() { setState(() {

View File

@ -266,6 +266,8 @@ class _LoginState extends State<LoginView> {
if (_loginType == LOGIN_TYPE_EMAIL) { if (_loginType == LOGIN_TYPE_EMAIL) {
if (_disable2FA) { if (_disable2FA) {
_buttonController.reset(); _buttonController.reset();
_disable2FA = false;
_recoverPassword = false;
showDialog<void>( showDialog<void>(
context: context, context: context,
builder: (BuildContext context) => UserSmsVerification( builder: (BuildContext context) => UserSmsVerification(