From 181fdeb0d04a907e0b3a790202e541e65d48d831 Mon Sep 17 00:00:00 2001 From: Bill Burke Date: Thu, 15 Oct 2015 18:54:57 -0400 Subject: [PATCH] KEYCLOAK-1960 --- .../admin/client/resource/UserResource.java | 8 ++++++ .../resources/admin/UsersResource.java | 27 +++++++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserResource.java index e21ee7999c..d9b90d98c4 100755 --- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserResource.java +++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserResource.java @@ -46,6 +46,14 @@ public interface UserResource { @Path("reset-password") public void resetPassword(CredentialRepresentation credentialRepresentation); + @PUT + @Path("reset-password-email") + public void resetPasswordEmail(); + + @PUT + @Path("reset-password-email") + public void resetPasswordEmail(@QueryParam("client_id") String clientId); + @PUT @Path("execute-actions-email") public void executeActionsEmail(List actions); diff --git a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java index 22ebbb5c11..9939d6e8d5 100755 --- a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java +++ b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java @@ -882,15 +882,38 @@ public class UsersResource { } /** - * Send a password-reset email to the user + * Send an email to the user with a link they can click to reset their password. + * The redirectUri and clientId parameters are optional. The default for the + * redirect is the account client. * - * An email contains a link the user can click to reset their password. + * @param id + * @param redirectUri redirect uri + * @param clientId client id + * @return + */ + @Path("{id}/reset-password-email") + @PUT + @Consumes(MediaType.APPLICATION_JSON) + public Response resetPasswordEmail(@PathParam("id") String id, + @QueryParam(OIDCLoginProtocol.REDIRECT_URI_PARAM) String redirectUri, + @QueryParam(OIDCLoginProtocol.CLIENT_ID_PARAM) String clientId) { + List actions = new LinkedList<>(); + actions.add(UserModel.RequiredAction.UPDATE_PASSWORD.name()); + return executeActionsEmail(id, redirectUri, clientId, actions); + } + + + /** + * Send a update account email to the user + * + * An email contains a link the user can click to perform a set of required actions. * The redirectUri and clientId parameters are optional. The default for the * redirect is the account client. * * @param id User is * @param redirectUri Redirect uri * @param clientId Client id + * @param actions required actions the user needs to complete * @return */ @Path("{id}/execute-actions-email")