package org.apereo.cas.oidc.dynareg; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import java.io.Serializable; import java.util.Arrays; import java.util.Collection; import java.util.List; /** * This is {@link OidcClientRegistrationRequest}. * * @author Misagh Moayyed * @since 5.1.0 */ @JsonIgnoreProperties(ignoreUnknown = true) public class OidcClientRegistrationRequest implements Serializable { private static final long serialVersionUID = 1832102135613155844L; @JsonProperty("redirect_uris") private List<String> redirectUris; @JsonProperty("client_name") private String clientName; @JsonProperty("token_endpoint_auth_method") private String tokenEndpointAuthMethod; @JsonProperty("scope") private String scope; @JsonProperty("grant_types") private List<String> grantTypes; @JsonProperty("response_types") private List<String> responseTypes; @JsonProperty("jwks_uri") private String jwksUri; @JsonProperty("request_object_signing_alg") private String requestObjectSigningAlg; public OidcClientRegistrationRequest() { } public String getScope() { return scope; } public List<String> getRedirectUris() { return redirectUris; } public String getClientName() { return clientName; } public String getTokenEndpointAuthMethod() { return tokenEndpointAuthMethod; } public List<String> getGrantTypes() { return grantTypes; } public List<String> getResponseTypes() { return responseTypes; } public String getJwksUri() { return jwksUri; } public String getRequestObjectSigningAlg() { return requestObjectSigningAlg; } @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.NO_CLASS_NAME_STYLE) .append("redirectUris", redirectUris) .append("clientName", clientName) .append("tokenEndpointAuthMethod", tokenEndpointAuthMethod) .append("scope", scope) .append("grantTypes", grantTypes) .append("responseTypes", responseTypes) .append("jwksUri", jwksUri) .append("requestObjectSigningAlg", requestObjectSigningAlg) .toString(); } @JsonIgnore public Collection<String> getScopes() { return Arrays.asList(getScope().split(" ")); } }