Skip to content

Commit 019e8ba

Browse files
Merge pull request #45 from isururanawaka/microservices_based_impl
minimize update request operations
2 parents dd3596d + c80e53d commit 019e8ba

File tree

5 files changed

+54
-41
lines changed

5 files changed

+54
-41
lines changed

custos-core-services/utility-services/custos-configuration-service/src/main/resources/iamAdminCoreService.properties

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ iam.federated.cilogon.token.userinfo.endpoint=https://cilogon.org/oauth2/userinf
1111
iam.federated.cilogon.issuer=https://cilogon.org
1212
iam.federated.cilogon.jwksUri=https://cilogon.org/oauth2/certs
1313
introspection.endpoint=https://custos.scigap.org:32036/identity-management/v1.0.0/token/introspect
14-
issuer=https://custos.scigap.org:32036/
15-
authorization.endpoint=https://custos.scigap.org:32036/identity-management/v1.0.0/authorize
16-
token.endpoint=https://custos.scigap.org:32036/identity-management/v1.0.0/token
17-
end.session.endpoint=https://custos.scigap.org:32036/identity-management/v1.0.0/logout
18-
user.info.endpoint=https://custos.scigap.org:32036/user-management/v1.0.0/userinfo
19-
jwks_uri=https://custos.scigap.org:32036/identity-management/v1.0.0/certs
20-
registration.endpoint=https://custos.scigap.org:32036/tenant-management/v1.0.0/oauth2/tenant
14+
issuer=https://custos.scigap.org/
15+
authorization.endpoint=https://custos.scigap.org/apiserver/identity-management/v1.0.0/authorize
16+
token.endpoint=https://custos.scigap.org/apiserver/identity-management/v1.0.0/token
17+
end.session.endpoint=https://custos.scigap.org/apiserver/identity-management/v1.0.0/logout
18+
user.info.endpoint=https://custos.scigap.org/apiserver/user-management/v1.0.0/userinfo
19+
jwks_uri=https://custos.scigap.org/apiserver/identity-management/v1.0.0/certs
20+
registration.endpoint=https://custos.scigap.org/apiserver/tenant-management/v1.0.0/oauth2/tenant

custos-core-services/utility-services/custos-configuration-service/src/main/resources/identityCoreService.properties

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ iam.server.url=https://keycloak.custos.scigap.org:31000/auth/
2323
iam.server.truststore.path=/home/ubuntu/keystore/keycloak-client-truststore.pkcs12
2424
iam.server.truststore.password=keycloak
2525
introspection.endpoint=https://custos.scigap.org:32036/identity-management/v1.0.0/token/introspect
26-
issuer=https://custos.scigap.org:32036/
27-
authorization.endpoint=https://custos.scigap.org:32036/identity-management/v1.0.0/authorize
28-
token.endpoint=https://custos.scigap.org:32036/identity-management/v1.0.0/token
29-
end.session.endpoint=https://custos.scigap.org:32036/identity-management/v1.0.0/logout
30-
user.info.endpoint=https://custos.scigap.org:32036/user-management/v1.0.0/userinfo
31-
jwks_uri=https://custos.scigap.org:32036/identity-management/v1.0.0/certs
32-
registration.endpoint=https://custos.scigap.org:32036/tenant-management/v1.0.0/oauth2/tenant
26+
issuer=https://custos.scigap.org/
27+
authorization.endpoint=https://custos.scigap.org/apiserver/identity-management/v1.0.0/authorize
28+
token.endpoint=https://custos.scigap.org/apiserver/identity-management/v1.0.0/token
29+
end.session.endpoint=https://custos.scigap.org/apiserver/identity-management/v1.0.0/logout
30+
user.info.endpoint=https://custos.scigap.org/apiserver/user-management/v1.0.0/userinfo
31+
jwks_uri=https://custos.scigap.org/apiserver/identity-management/v1.0.0/certs
32+
registration.endpoint=https://custos.scigap.org:/apiserver/tenant-management/v1.0.0/oauth2/tenant

custos-integration-services/tenant-management-service-parent/tenant-management-service/src/main/java/org/apache/custos/tenant/management/interceptors/DynamicRegistrationValidator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ public <ReqT> ReqT intercept(String method, Metadata headers, ReqT msg) {
9393

9494
String clientId = tenantRequest.getClientId();
9595

96+
if (clientId == null || clientId.trim().equals("")) {
97+
clientId = tenantRequest.getBody().getClientId();
98+
}
99+
96100
GetCredentialRequest request = GetCredentialRequest.newBuilder()
97101
.setId(clientId)
98102
.build();
@@ -105,7 +109,7 @@ public <ReqT> ReqT intercept(String method, Metadata headers, ReqT msg) {
105109

106110
Tenant tenant = validateTenant(metadata.getOwnerId(), tenantRequest.getTenantId(), headers);
107111

108-
return (ReqT) tenantRequest.toBuilder().setTenantId(tenant.getTenantId()).build();
112+
return (ReqT) tenantRequest.toBuilder().setTenantId(tenant.getTenantId()).setClientId(clientId).build();
109113

110114
} else if (method.equals("deleteTenant")) {
111115

custos-integration-services/tenant-management-service-parent/tenant-management-service/src/main/java/org/apache/custos/tenant/management/interceptors/InputValidator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,11 @@ private boolean validateUpdateTenant(Metadata headers, Object body, String metho
106106

107107
String clientId = tenantRequest.getClientId();
108108

109+
if (clientId == null || clientId.trim().equals("")) {
110+
clientId = tenantRequest.getBody().getClientId();
111+
}
112+
113+
LOGGER.info("CLient Id "+ clientId);
109114

110115
if (clientId == null || clientId.trim().equals("")) {
111116
throw new MissingParameterException("client_id should not be null", null);

custos-integration-services/tenant-management-service-parent/tenant-management-service/src/main/java/org/apache/custos/tenant/management/tasks/TenantActivationTask.java

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -216,39 +216,43 @@ public UpdateStatusResponse activateTenant(Tenant tenant, String performedBy, bo
216216
clientMetadataBuilder.setClientId(creMeta.getId());
217217

218218

219-
RegisterClientResponse registerClientResponse = federatedAuthenticationClient
220-
.addClient(clientMetadataBuilder.build());
221-
222-
223-
CredentialMetadata credentialMetadataCILogon = CredentialMetadata
224-
.newBuilder()
225-
.setId(registerClientResponse.getClientId())
226-
.setSecret(registerClientResponse.getClientSecret())
227-
.setOwnerId(tenant.getTenantId())
228-
.setType(Type.CILOGON)
229-
.build();
230-
231-
credentialStoreServiceClient.putCredential(credentialMetadataCILogon);
219+
if (!update) {
220+
RegisterClientResponse registerClientResponse = federatedAuthenticationClient
221+
.addClient(clientMetadataBuilder.build());
222+
223+
224+
CredentialMetadata credentialMetadataCILogon = CredentialMetadata
225+
.newBuilder()
226+
.setId(registerClientResponse.getClientId())
227+
.setSecret(registerClientResponse.getClientSecret())
228+
.setOwnerId(tenant.getTenantId())
229+
.setType(Type.CILOGON)
230+
.build();
231+
232+
credentialStoreServiceClient.putCredential(credentialMetadataCILogon);
233+
234+
235+
ConfigureFederateIDPRequest request = ConfigureFederateIDPRequest
236+
.newBuilder()
237+
.setTenantId(tenant.getTenantId())
238+
.setClientID(registerClientResponse.getClientId())
239+
.setClientSec(registerClientResponse.getClientSecret())
240+
.setScope(tenant.getScope())
241+
.setRequesterEmail(tenant.getRequesterEmail())
242+
.setType(FederatedIDPs.CILOGON)
243+
.build();
244+
iamAdminServiceClient.configureFederatedIDP(request);
245+
} else {
246+
federatedAuthenticationClient
247+
.updateClient(clientMetadataBuilder.build());
248+
}
232249

233250
org.apache.custos.tenant.profile.service.UpdateStatusRequest updateTenantRequest =
234251
org.apache.custos.tenant.profile.service.UpdateStatusRequest.newBuilder()
235252
.setTenantId(tenant.getTenantId())
236253
.setStatus(TenantStatus.ACTIVE)
237254
.setUpdatedBy(Constants.SYSTEM)
238255
.build();
239-
240-
ConfigureFederateIDPRequest request = ConfigureFederateIDPRequest
241-
.newBuilder()
242-
.setTenantId(tenant.getTenantId())
243-
.setClientID(registerClientResponse.getClientId())
244-
.setClientSec(registerClientResponse.getClientSecret())
245-
.setScope(tenant.getScope())
246-
.setRequesterEmail(tenant.getRequesterEmail())
247-
.setType(FederatedIDPs.CILOGON)
248-
.build();
249-
iamAdminServiceClient.configureFederatedIDP(request);
250-
251-
252256
return profileClient.updateTenantStatus(updateTenantRequest);
253257
}
254258

0 commit comments

Comments
 (0)