This is an automated email from the ASF dual-hosted git repository.
isjarana pushed a commit to branch baremetal
in repository https://gitbox.apache.org/repos/asf/airavata-custos.git
The following commit(s) were added to refs/heads/baremetal by this push:
new dd2b87b80 fix reset password
new e37ac9c86 Merge pull request #313 from isururanawaka/baremetal
dd2b87b80 is described below
commit dd2b87b80ba8fd5c06232c79a8c7822abd11cdb3
Author: Isuru Ranawaka <[email protected]>
AuthorDate: Wed Oct 26 10:46:23 2022 -0400
fix reset password
---
.../src/main/proto/IamAdminService.proto | 1 +
.../user/management/service/UserManagementService.java | 16 ++++++++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git
a/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto
b/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto
index 77fe2bb28..917b20297 100644
---
a/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto
+++
b/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto
@@ -181,6 +181,7 @@ message ResetUserPassword {
string access_token = 4;
string client_id = 5;
string client_sec = 6;
+ string old_password = 7;
}
diff --git
a/custos-integration-services/user-management-service/src/main/java/org/apache/custos/user/management/service/UserManagementService.java
b/custos-integration-services/user-management-service/src/main/java/org/apache/custos/user/management/service/UserManagementService.java
index 63961b589..92401a25d 100644
---
a/custos-integration-services/user-management-service/src/main/java/org/apache/custos/user/management/service/UserManagementService.java
+++
b/custos-integration-services/user-management-service/src/main/java/org/apache/custos/user/management/service/UserManagementService.java
@@ -27,6 +27,7 @@ import org.apache.custos.iam.service.UserAttribute;
import org.apache.custos.iam.service.*;
import org.apache.custos.identity.client.IdentityClient;
import org.apache.custos.identity.service.AuthToken;
+import org.apache.custos.identity.service.AuthenticationRequest;
import org.apache.custos.identity.service.GetUserManagementSATokenRequest;
import org.apache.custos.integration.core.utils.Constants;
import org.apache.custos.user.profile.client.UserProfileClient;
@@ -577,7 +578,18 @@ public class UserManagementService extends
UserManagementServiceGrpc.UserManagem
.build();
AuthToken token =
identityClient.getUserManagementSATokenRequest(userManagementSATokenRequest);
- if (token != null && token.getAccessToken() != null) {
+ AuthenticationRequest authenticationRequest = AuthenticationRequest
+ .newBuilder()
+ .setClientId(request.getClientId())
+ .setClientSecret(request.getClientSec())
+ .setTenantId(request.getTenantId())
+ .setUsername(request.getUsername())
+ .setPassword(request.getOldPassword())
+ .build();
+
+ AuthToken authToken =
identityClient.authenticate(authenticationRequest);
+
+ if (authToken.getAccessToken() != null && token != null &&
token.getAccessToken() != null) {
request =
request.toBuilder().setAccessToken(token.getAccessToken()).build();
@@ -586,7 +598,7 @@ public class UserManagementService extends
UserManagementServiceGrpc.UserManagem
responseObserver.onCompleted();
} else {
LOGGER.error("Cannot find service token");
- responseObserver.onError(Status.CANCELLED.
+ responseObserver.onError(Status.PERMISSION_DENIED.
withDescription("Cannot find service
token").asRuntimeException());
}