From 35dd4a51063552b645ef7d1e2c52b72db57c185f Mon Sep 17 00:00:00 2001 From: NMerz Date: Thu, 8 Oct 2020 19:26:05 -0400 Subject: [PATCH] Add backend password reset functionality --- .../java/com/example/listify/AuthManager.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Listify/app/src/main/java/com/example/listify/AuthManager.java b/Listify/app/src/main/java/com/example/listify/AuthManager.java index 1248a05..16c1fef 100644 --- a/Listify/app/src/main/java/com/example/listify/AuthManager.java +++ b/Listify/app/src/main/java/com/example/listify/AuthManager.java @@ -5,6 +5,7 @@ import com.amplifyframework.auth.AuthException; import com.amplifyframework.auth.AuthSession; import com.amplifyframework.auth.cognito.AWSCognitoAuthSession; import com.amplifyframework.auth.options.AuthSignUpOptions; +import com.amplifyframework.auth.result.AuthResetPasswordResult; import com.amplifyframework.auth.result.AuthSignInResult; import com.amplifyframework.auth.result.AuthSignUpResult; import com.amplifyframework.core.Amplify; @@ -21,6 +22,7 @@ public class AuthManager { AWSCognitoAuthSession authSession = null; AuthSignUpResult authSignUpResult = null; AuthSignInResult authSignInResult = null; + AuthResetPasswordResult authResetPasswordResult = null; AuthException authError = null; String email = null; String password = null; @@ -90,10 +92,19 @@ public class AuthManager { waiting = false; } + public void setAuthResetPasswordResult(AuthResetPasswordResult toSet) { + authResetPasswordResult = toSet; + waiting = false; + } + public void signOutSuccess() { waiting = false; } + public void passwordResetSuccess() { + waiting = false; + } + public void startSignUp(String email, String password) throws AuthException { this.email = email; this.password = password; @@ -145,6 +156,19 @@ public class AuthManager { throwIfAuthError(); } + public void changePassword(String email) throws AuthException { + this.email = email; + waiting = true; + Amplify.Auth.resetPassword(email, result -> setAuthResetPasswordResult(result), error -> setAuthError(error)); + throwIfAuthError(); + } + + public void confirmPasswordReset(String newPassword, String confirmationCode) throws AuthException { + waiting = true; + Amplify.Auth.confirmResetPassword(newPassword, confirmationCode, this::passwordResetSuccess, this::setAuthError); + throwIfAuthError(); + } + public static Properties loadProperties(Context context, String path) throws IOException, JSONException { Properties toReturn = new Properties(); String propertiesJSONString = "";