Skip to content
This repository has been archived by the owner on Aug 20, 2021. It is now read-only.

Commit

Permalink
feat(application): Support for dynamic client registration templating…
Browse files Browse the repository at this point in the history
… (software_id)

Closes gravitee-io/issues#2836
  • Loading branch information
brasseld committed Nov 4, 2019
1 parent be6a1de commit c26e08e
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 1 deletion.
Expand Up @@ -66,6 +66,9 @@ public class ClientRegistrationProviderEntity {
@JsonProperty("renew_client_secret_method")
private String renewClientSecretMethod;

@JsonProperty("software_id")
private String softwareId;

public String getId() {
return id;
}
Expand Down Expand Up @@ -178,6 +181,14 @@ public void setRenewClientSecretMethod(String renewClientSecretMethod) {
this.renewClientSecretMethod = renewClientSecretMethod;
}

public String getSoftwareId() {
return softwareId;
}

public void setSoftwareId(String softwareId) {
this.softwareId = softwareId;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
Expand Down
Expand Up @@ -62,6 +62,9 @@ public class NewClientRegistrationProviderEntity {
@JsonProperty("renew_client_secret_method")
private String renewClientSecretMethod;

@JsonProperty("software_id")
private String softwareId;

public String getName() {
return name;
}
Expand Down Expand Up @@ -150,6 +153,14 @@ public void setRenewClientSecretMethod(String renewClientSecretMethod) {
this.renewClientSecretMethod = renewClientSecretMethod;
}

public String getSoftwareId() {
return softwareId;
}

public void setSoftwareId(String softwareId) {
this.softwareId = softwareId;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
Expand Down
Expand Up @@ -59,6 +59,9 @@ public class UpdateClientRegistrationProviderEntity {
@JsonProperty("renew_client_secret_method")
private String renewClientSecretMethod;

@JsonProperty("software_id")
private String softwareId;

public String getName() {
return name;
}
Expand Down Expand Up @@ -147,6 +150,14 @@ public void setRenewClientSecretMethod(String renewClientSecretMethod) {
this.renewClientSecretMethod = renewClientSecretMethod;
}

public String getSoftwareId() {
return softwareId;
}

public void setSoftwareId(String softwareId) {
this.softwareId = softwareId;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
Expand Down
Expand Up @@ -286,7 +286,10 @@ public ClientRegistrationResponse register(NewApplicationEntity application) {
DynamicClientRegistrationProviderClient registrationProviderClient = getDCRClient(false,
provider);

return registrationProviderClient.register(convert(application));
ClientRegistrationRequest clientRegistrationRequest = convert(application);
clientRegistrationRequest.setSoftwareId(provider.getSoftwareId());

return registrationProviderClient.register(clientRegistrationRequest);
}

private DynamicClientRegistrationProviderClient getDCRClient(
Expand Down Expand Up @@ -355,6 +358,8 @@ public ClientRegistrationResponse update(String previousRegistrationResponse, Up
ClientRegistrationRequest registrationRequest = mapper.readValue(
previousRegistrationResponse, ClientRegistrationRequest.class);

registrationRequest.setSoftwareId(provider.getSoftwareId());

return registrationProviderClient.update(
registrationResponse.getRegistrationAccessToken(),
registrationResponse.getRegistrationClientUri(),
Expand Down Expand Up @@ -446,6 +451,7 @@ private ClientRegistrationProviderEntity convert(ClientRegistrationProvider clie
entity.setRenewClientSecretSupport(clientRegistrationProvider.isRenewClientSecretSupport());
entity.setRenewClientSecretMethod(clientRegistrationProvider.getRenewClientSecretMethod());
entity.setRenewClientSecretEndpoint(clientRegistrationProvider.getRenewClientSecretEndpoint());
entity.setSoftwareId(clientRegistrationProvider.getSoftwareId());

if (clientRegistrationProvider.getInitialAccessTokenType() == null ||
clientRegistrationProvider.getInitialAccessTokenType() == ClientRegistrationProvider.InitialAccessTokenType.CLIENT_CREDENTIALS) {
Expand Down Expand Up @@ -473,6 +479,7 @@ private ClientRegistrationProvider convert(NewClientRegistrationProviderEntity n
provider.setRenewClientSecretSupport(newClientRegistrationProvider.isRenewClientSecretSupport());
provider.setRenewClientSecretMethod(newClientRegistrationProvider.getRenewClientSecretMethod());
provider.setRenewClientSecretEndpoint(newClientRegistrationProvider.getRenewClientSecretEndpoint());
provider.setSoftwareId(newClientRegistrationProvider.getSoftwareId());

if (newClientRegistrationProvider.getInitialAccessTokenType() == InitialAccessTokenType.CLIENT_CREDENTIALS) {
provider.setInitialAccessTokenType(ClientRegistrationProvider.InitialAccessTokenType.CLIENT_CREDENTIALS);
Expand All @@ -496,6 +503,7 @@ private ClientRegistrationProvider convert(UpdateClientRegistrationProviderEntit
provider.setRenewClientSecretSupport(updateClientRegistrationProvider.isRenewClientSecretSupport());
provider.setRenewClientSecretMethod(updateClientRegistrationProvider.getRenewClientSecretMethod());
provider.setRenewClientSecretEndpoint(updateClientRegistrationProvider.getRenewClientSecretEndpoint());
provider.setSoftwareId(updateClientRegistrationProvider.getSoftwareId());

if (updateClientRegistrationProvider.getInitialAccessTokenType() == InitialAccessTokenType.CLIENT_CREDENTIALS) {
provider.setInitialAccessTokenType(ClientRegistrationProvider.InitialAccessTokenType.CLIENT_CREDENTIALS);
Expand Down

0 comments on commit c26e08e

Please sign in to comment.