/*******************************************************************************
* Cloud Foundry
* Copyright (c) [2009-2016] Pivotal Software, Inc. All Rights Reserved.
*
* This product is licensed to you under the Apache License, Version 2.0 (the "License").
* You may not use this product except in compliance with the License.
*
* This product includes a number of subcomponents with
* separate copyright notices and license terms. Your use of these
* subcomponents is subject to the terms and conditions of the
* subcomponent's license, as noted in the LICENSE file.
*******************************************************************************/
package org.cloudfoundry.identity.uaa.account;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.cloudfoundry.identity.uaa.codestore.ExpiringCode;
import org.cloudfoundry.identity.uaa.scim.ScimUser;
public interface ResetPasswordService {
void resetUserPassword(String userId, String password);
ForgotPasswordInfo forgotPassword(String email, String clientId, String redirectUri);
ResetPasswordResponse resetPassword(ExpiringCode code, String newPassword);
void updateLastLogonTime(String userId);
class ResetPasswordResponse {
@JsonProperty("user")
private ScimUser user;
@JsonProperty("redirect_uri")
private String redirectUri;
@JsonProperty("client_id")
private String clientId;
public ResetPasswordResponse() {}
public ResetPasswordResponse(ScimUser user, String redirectUri, String clientId) {
this.user = user;
this.redirectUri = redirectUri;
this.clientId = clientId;
}
public String getRedirectUri() {
return redirectUri;
}
public void setRedirectUri(String redirectUri) {
this.redirectUri = redirectUri;
}
public ScimUser getUser() {
return user;
}
public void setUser(ScimUser user) {
this.user = user;
}
public String getClientId() {
return clientId;
}
public void setClientId(String clientId) {
this.clientId = clientId;
}
}
}