From e1a0fb1a7b5e35f363467866225b6084f7aff46e Mon Sep 17 00:00:00 2001 From: Peter Skopek Date: Thu, 12 Sep 2024 15:48:37 +0200 Subject: [PATCH] Add missing classes by keycloak-authorization extension of Quarkus Closes #51 Signed-off-by: Peter Skopek --- client-common-synced/pom.xml | 2 + .../representations/MTLSEndpointAliases.java | 125 ++++ .../OIDCConfigurationRepresentation.java | 658 ++++++++++++++++++ 3 files changed, 785 insertions(+) create mode 100644 client-common-synced/src/main/java/org/keycloak/protocol/oidc/representations/MTLSEndpointAliases.java create mode 100755 client-common-synced/src/main/java/org/keycloak/protocol/oidc/representations/OIDCConfigurationRepresentation.java diff --git a/client-common-synced/pom.xml b/client-common-synced/pom.xml index 7fd3e78..1b414d2 100644 --- a/client-common-synced/pom.xml +++ b/client-common-synced/pom.xml @@ -133,6 +133,8 @@ org/keycloak/protocol/oidc/client/authentication/*.java, + org/keycloak/protocol/oidc/representations/**/*.java, + org/keycloak/constants/ServiceUrlConstants.java, diff --git a/client-common-synced/src/main/java/org/keycloak/protocol/oidc/representations/MTLSEndpointAliases.java b/client-common-synced/src/main/java/org/keycloak/protocol/oidc/representations/MTLSEndpointAliases.java new file mode 100644 index 0000000..3614d35 --- /dev/null +++ b/client-common-synced/src/main/java/org/keycloak/protocol/oidc/representations/MTLSEndpointAliases.java @@ -0,0 +1,125 @@ +/* + * Copyright 2021 Red Hat, Inc. and/or its affiliates + * and other contributors as indicated by the @author tags. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.keycloak.protocol.oidc.representations; + +import java.util.HashMap; +import java.util.Map; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonProperty; + +public class MTLSEndpointAliases { + + @JsonProperty("token_endpoint") + private String tokenEndpoint; + @JsonProperty("revocation_endpoint") + private String revocationEndpoint; + @JsonProperty("introspection_endpoint") + private String introspectionEndpoint; + @JsonProperty("device_authorization_endpoint") + private String deviceAuthorizationEndpoint; + @JsonProperty("registration_endpoint") + private String registrationEndpoint; + @JsonProperty("userinfo_endpoint") + private String userInfoEndpoint; + @JsonProperty("pushed_authorization_request_endpoint") + private String pushedAuthorizationRequestEndpoint; + @JsonProperty("backchannel_authentication_endpoint") + private String backchannelAuthenticationEndpoint; + + // For custom endpoints in the future + protected Map otherClaims = new HashMap(); + + public MTLSEndpointAliases() { } + + public String getTokenEndpoint() { + return tokenEndpoint; + } + + public void setTokenEndpoint(String tokenEndpoint) { + this.tokenEndpoint = tokenEndpoint; + } + + public String getRevocationEndpoint() { + return revocationEndpoint; + } + + public void setRevocationEndpoint(String revocationEndpoint) { + this.revocationEndpoint = revocationEndpoint; + } + + public String getIntrospectionEndpoint() { + return introspectionEndpoint; + } + + public void setIntrospectionEndpoint(String introspectionEndpoint) { + this.introspectionEndpoint = introspectionEndpoint; + } + + public String getDeviceAuthorizationEndpoint() { + return deviceAuthorizationEndpoint; + } + + public void setDeviceAuthorizationEndpoint(String deviceAuthorizationEndpoint) { + this.deviceAuthorizationEndpoint = deviceAuthorizationEndpoint; + } + + public String getRegistrationEndpoint() { + return registrationEndpoint; + } + + public void setRegistrationEndpoint(String registrationEndpoint) { + this.registrationEndpoint = registrationEndpoint; + } + + public String getUserInfoEndpoint() { + return userInfoEndpoint; + } + + public void setUserInfoEndpoint(String userInfoEndpoint) { + this.userInfoEndpoint = userInfoEndpoint; + } + + public String getPushedAuthorizationRequestEndpoint() { + return pushedAuthorizationRequestEndpoint; + } + + public void setPushedAuthorizationRequestEndpoint(String pushedAuthorizationRequestEndpoint) { + this.pushedAuthorizationRequestEndpoint = pushedAuthorizationRequestEndpoint; + } + + public String getBackchannelAuthenticationEndpoint() { + return backchannelAuthenticationEndpoint; + } + + public void setBackchannelAuthenticationEndpoint(String backchannelAuthenticationEndpoint) { + this.backchannelAuthenticationEndpoint = backchannelAuthenticationEndpoint; + } + + @JsonAnyGetter + public Map getOtherClaims() { + return otherClaims; + } + + @JsonAnySetter + public void setOtherClaims(String name, Object value) { + otherClaims.put(name, value); + } +} diff --git a/client-common-synced/src/main/java/org/keycloak/protocol/oidc/representations/OIDCConfigurationRepresentation.java b/client-common-synced/src/main/java/org/keycloak/protocol/oidc/representations/OIDCConfigurationRepresentation.java new file mode 100755 index 0000000..8ccc2ed --- /dev/null +++ b/client-common-synced/src/main/java/org/keycloak/protocol/oidc/representations/OIDCConfigurationRepresentation.java @@ -0,0 +1,658 @@ +/* + * Copyright 2016 Red Hat, Inc. and/or its affiliates + * and other contributors as indicated by the @author tags. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.keycloak.protocol.oidc.representations; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author Stian Thorgersen + */ + +public class OIDCConfigurationRepresentation { + + @JsonProperty("issuer") + private String issuer; + + @JsonProperty("authorization_endpoint") + private String authorizationEndpoint; + + @JsonProperty("token_endpoint") + private String tokenEndpoint; + + @JsonProperty("introspection_endpoint") + private String introspectionEndpoint; + + @JsonProperty("userinfo_endpoint") + private String userinfoEndpoint; + + @JsonProperty("end_session_endpoint") + private String logoutEndpoint; + + @JsonProperty("frontchannel_logout_session_supported") + private Boolean frontChannelLogoutSessionSupported = true; + + @JsonProperty("frontchannel_logout_supported") + private Boolean frontChannelLogoutSupported = true; + + @JsonProperty("jwks_uri") + private String jwksUri; + + @JsonProperty("check_session_iframe") + private String checkSessionIframe; + + @JsonProperty("grant_types_supported") + private List grantTypesSupported; + + @JsonProperty("acr_values_supported") + private List acrValuesSupported; + + @JsonProperty("response_types_supported") + private List responseTypesSupported; + + @JsonProperty("subject_types_supported") + private List subjectTypesSupported; + + @JsonProperty("id_token_signing_alg_values_supported") + private List idTokenSigningAlgValuesSupported; + + @JsonProperty("id_token_encryption_alg_values_supported") + private List idTokenEncryptionAlgValuesSupported; + + @JsonProperty("id_token_encryption_enc_values_supported") + private List idTokenEncryptionEncValuesSupported; + + @JsonProperty("userinfo_signing_alg_values_supported") + private List userInfoSigningAlgValuesSupported; + + @JsonProperty("userinfo_encryption_alg_values_supported") + private List userInfoEncryptionAlgValuesSupported; + + @JsonProperty("userinfo_encryption_enc_values_supported") + private List userInfoEncryptionEncValuesSupported; + + @JsonProperty("request_object_signing_alg_values_supported") + private List requestObjectSigningAlgValuesSupported; + + @JsonProperty("request_object_encryption_alg_values_supported") + private List requestObjectEncryptionAlgValuesSupported; + + @JsonProperty("request_object_encryption_enc_values_supported") + private List requestObjectEncryptionEncValuesSupported; + + @JsonProperty("response_modes_supported") + private List responseModesSupported; + + @JsonProperty("registration_endpoint") + private String registrationEndpoint; + + @JsonProperty("token_endpoint_auth_methods_supported") + private List tokenEndpointAuthMethodsSupported; + + @JsonProperty("token_endpoint_auth_signing_alg_values_supported") + private List tokenEndpointAuthSigningAlgValuesSupported; + + @JsonProperty("introspection_endpoint_auth_methods_supported") + private List introspectionEndpointAuthMethodsSupported; + + @JsonProperty("introspection_endpoint_auth_signing_alg_values_supported") + private List introspectionEndpointAuthSigningAlgValuesSupported; + + @JsonProperty("authorization_signing_alg_values_supported") + private List authorizationSigningAlgValuesSupported; + + @JsonProperty("authorization_encryption_alg_values_supported") + private List authorizationEncryptionAlgValuesSupported; + + @JsonProperty("authorization_encryption_enc_values_supported") + private List authorizationEncryptionEncValuesSupported; + + @JsonProperty("claims_supported") + private List claimsSupported; + + @JsonProperty("claim_types_supported") + private List claimTypesSupported; + + @JsonProperty("claims_parameter_supported") + private Boolean claimsParameterSupported; + + @JsonProperty("scopes_supported") + private List scopesSupported; + + @JsonProperty("request_parameter_supported") + private Boolean requestParameterSupported; + + @JsonProperty("request_uri_parameter_supported") + private Boolean requestUriParameterSupported; + + @JsonProperty("require_request_uri_registration") + private Boolean requireRequestUriRegistration; + + // KEYCLOAK-7451 OAuth Authorization Server Metadata for Proof Key for Code Exchange + @JsonProperty("code_challenge_methods_supported") + private List codeChallengeMethodsSupported; + + // KEYCLOAK-6771 Certificate Bound Token + // https://tools.ietf.org/html/draft-ietf-oauth-mtls-08#section-6.2 + @JsonProperty("tls_client_certificate_bound_access_tokens") + private Boolean tlsClientCertificateBoundAccessTokens; + + @JsonProperty("dpop_signing_alg_values_supported") + private List dpopSigningAlgValuesSupported; + + @JsonProperty("revocation_endpoint") + private String revocationEndpoint; + + @JsonProperty("revocation_endpoint_auth_methods_supported") + private List revocationEndpointAuthMethodsSupported; + + @JsonProperty("revocation_endpoint_auth_signing_alg_values_supported") + private List revocationEndpointAuthSigningAlgValuesSupported; + + @JsonProperty("backchannel_logout_supported") + private Boolean backchannelLogoutSupported; + + @JsonProperty("backchannel_logout_session_supported") + private Boolean backchannelLogoutSessionSupported; + + @JsonProperty("device_authorization_endpoint") + private String deviceAuthorizationEndpoint; + + @JsonProperty("backchannel_token_delivery_modes_supported") + private List backchannelTokenDeliveryModesSupported; + + @JsonProperty("backchannel_authentication_endpoint") + private String backchannelAuthenticationEndpoint; + + @JsonProperty("backchannel_authentication_request_signing_alg_values_supported") + private List backchannelAuthenticationRequestSigningAlgValuesSupported; + + @JsonProperty("require_pushed_authorization_requests") + private Boolean requirePushedAuthorizationRequests; + + @JsonProperty("pushed_authorization_request_endpoint") + private String pushedAuthorizationRequestEndpoint; + + @JsonProperty("mtls_endpoint_aliases") + private MTLSEndpointAliases mtlsEndpointAliases; + + @JsonProperty("authorization_response_iss_parameter_supported") + private Boolean authorizationResponseIssParameterSupported; + + protected Map otherClaims = new HashMap(); + + public String getIssuer() { + return issuer; + } + + public void setIssuer(String issuer) { + this.issuer = issuer; + } + + public String getAuthorizationEndpoint() { + return authorizationEndpoint; + } + + public void setAuthorizationEndpoint(String authorizationEndpoint) { + this.authorizationEndpoint = authorizationEndpoint; + } + + public String getTokenEndpoint() { + return tokenEndpoint; + } + + public void setTokenEndpoint(String tokenEndpoint) { + this.tokenEndpoint = tokenEndpoint; + } + + public String getIntrospectionEndpoint() { + return this.introspectionEndpoint; + } + + public void setIntrospectionEndpoint(String introspectionEndpoint) { + this.introspectionEndpoint = introspectionEndpoint; + } + + public String getUserinfoEndpoint() { + return userinfoEndpoint; + } + + public void setUserinfoEndpoint(String userinfoEndpoint) { + this.userinfoEndpoint = userinfoEndpoint; + } + + public String getJwksUri() { + return jwksUri; + } + + public void setJwksUri(String jwksUri) { + this.jwksUri = jwksUri; + } + + public String getCheckSessionIframe() { + return checkSessionIframe; + } + + public void setCheckSessionIframe(String checkSessionIframe) { + this.checkSessionIframe = checkSessionIframe; + } + + public String getLogoutEndpoint() { + return logoutEndpoint; + } + + public void setLogoutEndpoint(String logoutEndpoint) { + this.logoutEndpoint = logoutEndpoint; + } + + public List getGrantTypesSupported() { + return grantTypesSupported; + } + + public void setGrantTypesSupported(List grantTypesSupported) { + this.grantTypesSupported = grantTypesSupported; + } + + public List getAcrValuesSupported() { + return acrValuesSupported; + } + + public void setAcrValuesSupported(List acrValuesSupported) { + this.acrValuesSupported = acrValuesSupported; + } + + public List getResponseTypesSupported() { + return responseTypesSupported; + } + + public void setResponseTypesSupported(List responseTypesSupported) { + this.responseTypesSupported = responseTypesSupported; + } + + public List getSubjectTypesSupported() { + return subjectTypesSupported; + } + + public void setSubjectTypesSupported(List subjectTypesSupported) { + this.subjectTypesSupported = subjectTypesSupported; + } + + public List getIdTokenSigningAlgValuesSupported() { + return idTokenSigningAlgValuesSupported; + } + + public void setIdTokenSigningAlgValuesSupported(List idTokenSigningAlgValuesSupported) { + this.idTokenSigningAlgValuesSupported = idTokenSigningAlgValuesSupported; + } + + public List getIdTokenEncryptionAlgValuesSupported() { + return idTokenEncryptionAlgValuesSupported; + } + + public void setIdTokenEncryptionAlgValuesSupported(List idTokenEncryptionAlgValuesSupported) { + this.idTokenEncryptionAlgValuesSupported = idTokenEncryptionAlgValuesSupported; + } + + public List getIdTokenEncryptionEncValuesSupported() { + return idTokenEncryptionEncValuesSupported; + } + + public void setIdTokenEncryptionEncValuesSupported(List idTokenEncryptionEncValuesSupported) { + this.idTokenEncryptionEncValuesSupported = idTokenEncryptionEncValuesSupported; + } + + public List getUserInfoSigningAlgValuesSupported() { + return userInfoSigningAlgValuesSupported; + } + + public void setUserInfoSigningAlgValuesSupported(List userInfoSigningAlgValuesSupported) { + this.userInfoSigningAlgValuesSupported = userInfoSigningAlgValuesSupported; + } + + public List getUserInfoEncryptionAlgValuesSupported() { + return userInfoEncryptionAlgValuesSupported; + } + + public void setUserInfoEncryptionAlgValuesSupported(List userInfoEncryptionAlgValuesSupported) { + this.userInfoEncryptionAlgValuesSupported = userInfoEncryptionAlgValuesSupported; + } + + public List getUserInfoEncryptionEncValuesSupported() { + return userInfoEncryptionEncValuesSupported; + } + + public void setUserInfoEncryptionEncValuesSupported(List userInfoEncryptionEncValuesSupported) { + this.userInfoEncryptionEncValuesSupported = userInfoEncryptionEncValuesSupported; + } + + public List getRequestObjectSigningAlgValuesSupported() { + return requestObjectSigningAlgValuesSupported; + } + + public void setRequestObjectSigningAlgValuesSupported(List requestObjectSigningAlgValuesSupported) { + this.requestObjectSigningAlgValuesSupported = requestObjectSigningAlgValuesSupported; + } + + public List getRequestObjectEncryptionAlgValuesSupported() { + return requestObjectEncryptionAlgValuesSupported; + } + + public void setRequestObjectEncryptionAlgValuesSupported(List requestObjectEncryptionAlgValuesSupported) { + this.requestObjectEncryptionAlgValuesSupported = requestObjectEncryptionAlgValuesSupported; + } + + public List getRequestObjectEncryptionEncValuesSupported() { + return requestObjectEncryptionEncValuesSupported; + } + + public void setRequestObjectEncryptionEncValuesSupported(List requestObjectEncryptionEncValuesSupported) { + this.requestObjectEncryptionEncValuesSupported = requestObjectEncryptionEncValuesSupported; + } + + public List getResponseModesSupported() { + return responseModesSupported; + } + + public void setResponseModesSupported(List responseModesSupported) { + this.responseModesSupported = responseModesSupported; + } + + public String getRegistrationEndpoint() { + return registrationEndpoint; + } + + public void setRegistrationEndpoint(String registrationEndpoint) { + this.registrationEndpoint = registrationEndpoint; + } + + public List getTokenEndpointAuthMethodsSupported() { + return tokenEndpointAuthMethodsSupported; + } + + public void setTokenEndpointAuthMethodsSupported(List tokenEndpointAuthMethodsSupported) { + this.tokenEndpointAuthMethodsSupported = tokenEndpointAuthMethodsSupported; + } + + public List getTokenEndpointAuthSigningAlgValuesSupported() { + return tokenEndpointAuthSigningAlgValuesSupported; + } + + public void setTokenEndpointAuthSigningAlgValuesSupported(List tokenEndpointAuthSigningAlgValuesSupported) { + this.tokenEndpointAuthSigningAlgValuesSupported = tokenEndpointAuthSigningAlgValuesSupported; + } + + public List getIntrospectionEndpointAuthMethodsSupported() { + return introspectionEndpointAuthMethodsSupported; + } + + public void setIntrospectionEndpointAuthMethodsSupported(List introspectionEndpointAuthMethodsSupported) { + this.introspectionEndpointAuthMethodsSupported = introspectionEndpointAuthMethodsSupported; + } + + public List getIntrospectionEndpointAuthSigningAlgValuesSupported() { + return introspectionEndpointAuthSigningAlgValuesSupported; + } + + public void setIntrospectionEndpointAuthSigningAlgValuesSupported( + List introspectionEndpointAuthSigningAlgValuesSupported) { + this.introspectionEndpointAuthSigningAlgValuesSupported = introspectionEndpointAuthSigningAlgValuesSupported; + } + + public List getClaimsSupported() { + return claimsSupported; + } + + public void setClaimsSupported(List claimsSupported) { + this.claimsSupported = claimsSupported; + } + + public List getClaimTypesSupported() { + return claimTypesSupported; + } + + public void setClaimTypesSupported(List claimTypesSupported) { + this.claimTypesSupported = claimTypesSupported; + } + + public Boolean getClaimsParameterSupported() { + return claimsParameterSupported; + } + + public void setClaimsParameterSupported(Boolean claimsParameterSupported) { + this.claimsParameterSupported = claimsParameterSupported; + } + + public List getScopesSupported() { + return scopesSupported; + } + + public void setScopesSupported(List scopesSupported) { + this.scopesSupported = scopesSupported; + } + + public Boolean getRequestParameterSupported() { + return requestParameterSupported; + } + + public void setRequestParameterSupported(Boolean requestParameterSupported) { + this.requestParameterSupported = requestParameterSupported; + } + + public Boolean getRequestUriParameterSupported() { + return requestUriParameterSupported; + } + + public void setRequestUriParameterSupported(Boolean requestUriParameterSupported) { + this.requestUriParameterSupported = requestUriParameterSupported; + } + + public Boolean getRequireRequestUriRegistration() { + return requireRequestUriRegistration; + } + + public void setRequireRequestUriRegistration(Boolean requireRequestUriRegistration) { + this.requireRequestUriRegistration = requireRequestUriRegistration; + } + + // KEYCLOAK-7451 OAuth Authorization Server Metadata for Proof Key for Code Exchange + public List getCodeChallengeMethodsSupported() { + return codeChallengeMethodsSupported; + } + + public void setCodeChallengeMethodsSupported(List codeChallengeMethodsSupported) { + this.codeChallengeMethodsSupported = codeChallengeMethodsSupported; + } + + // KEYCLOAK-6771 Certificate Bound Token + // https://tools.ietf.org/html/draft-ietf-oauth-mtls-08#section-6.2 + public Boolean getTlsClientCertificateBoundAccessTokens() { + return tlsClientCertificateBoundAccessTokens; + } + + public void setTlsClientCertificateBoundAccessTokens(Boolean tlsClientCertificateBoundAccessTokens) { + this.tlsClientCertificateBoundAccessTokens = tlsClientCertificateBoundAccessTokens; + } + + public List getDpopSigningAlgValuesSupported() { + return dpopSigningAlgValuesSupported; + } + + public void setDpopSigningAlgValuesSupported(List dpopSigningAlgValuesSupported) { + this.dpopSigningAlgValuesSupported = dpopSigningAlgValuesSupported; + } + + public String getRevocationEndpoint() { + return revocationEndpoint; + } + + public void setRevocationEndpoint(String revocationEndpoint) { + this.revocationEndpoint = revocationEndpoint; + } + + public List getRevocationEndpointAuthMethodsSupported() { + return revocationEndpointAuthMethodsSupported; + } + + public void setRevocationEndpointAuthMethodsSupported(List revocationEndpointAuthMethodsSupported) { + this.revocationEndpointAuthMethodsSupported = revocationEndpointAuthMethodsSupported; + } + + public List getRevocationEndpointAuthSigningAlgValuesSupported() { + return revocationEndpointAuthSigningAlgValuesSupported; + } + + public void setRevocationEndpointAuthSigningAlgValuesSupported(List revocationEndpointAuthSigningAlgValuesSupported) { + this.revocationEndpointAuthSigningAlgValuesSupported = revocationEndpointAuthSigningAlgValuesSupported; + } + + public Boolean getBackchannelLogoutSupported() { + return backchannelLogoutSupported; + } + + public Boolean getBackchannelLogoutSessionSupported() { + return backchannelLogoutSessionSupported; + } + + public void setBackchannelLogoutSessionSupported(Boolean backchannelLogoutSessionSupported) { + this.backchannelLogoutSessionSupported = backchannelLogoutSessionSupported; + } + + public void setBackchannelLogoutSupported(Boolean backchannelLogoutSupported) { + this.backchannelLogoutSupported = backchannelLogoutSupported; + } + + public List getBackchannelTokenDeliveryModesSupported() { + return backchannelTokenDeliveryModesSupported; + } + + public void setBackchannelTokenDeliveryModesSupported(List backchannelTokenDeliveryModesSupported) { + this.backchannelTokenDeliveryModesSupported = backchannelTokenDeliveryModesSupported; + } + + public String getBackchannelAuthenticationEndpoint() { + return backchannelAuthenticationEndpoint; + } + + public void setBackchannelAuthenticationEndpoint(String backchannelAuthenticationEndpoint) { + this.backchannelAuthenticationEndpoint = backchannelAuthenticationEndpoint; + } + + public List getBackchannelAuthenticationRequestSigningAlgValuesSupported() { + return backchannelAuthenticationRequestSigningAlgValuesSupported; + } + + public void setBackchannelAuthenticationRequestSigningAlgValuesSupported(List backchannelAuthenticationRequestSigningAlgValuesSupported) { + this.backchannelAuthenticationRequestSigningAlgValuesSupported = backchannelAuthenticationRequestSigningAlgValuesSupported; + } + + public String getPushedAuthorizationRequestEndpoint() { + return pushedAuthorizationRequestEndpoint; + } + + public void setPushedAuthorizationRequestEndpoint(String pushedAuthorizationRequestEndpoint) { + this.pushedAuthorizationRequestEndpoint = pushedAuthorizationRequestEndpoint; + } + + public Boolean getRequirePushedAuthorizationRequests() { + return requirePushedAuthorizationRequests; + } + + public void setRequirePushedAuthorizationRequests(Boolean requirePushedAuthorizationRequests) { + this.requirePushedAuthorizationRequests = requirePushedAuthorizationRequests; + } + + public MTLSEndpointAliases getMtlsEndpointAliases() { + return mtlsEndpointAliases; + } + + public void setMtlsEndpointAliases(MTLSEndpointAliases mtlsEndpointAliases) { + this.mtlsEndpointAliases = mtlsEndpointAliases; + } + + @JsonAnyGetter + public Map getOtherClaims() { + return otherClaims; + } + + @JsonAnySetter + public void setOtherClaims(String name, Object value) { + otherClaims.put(name, value); + } + + public void setDeviceAuthorizationEndpoint(String deviceAuthorizationEndpoint) { + this.deviceAuthorizationEndpoint = deviceAuthorizationEndpoint; + } + + public String getDeviceAuthorizationEndpoint() { + return deviceAuthorizationEndpoint; + } + + public List getAuthorizationSigningAlgValuesSupported() { + return authorizationSigningAlgValuesSupported; + } + + public void setAuthorizationSigningAlgValuesSupported(List authorizationSigningAlgValuesSupported) { + this.authorizationSigningAlgValuesSupported = authorizationSigningAlgValuesSupported; + } + + public List getAuthorizationEncryptionAlgValuesSupported() { + return authorizationEncryptionAlgValuesSupported; + } + + public void setAuthorizationEncryptionAlgValuesSupported(List authorizationEncryptionAlgValuesSupported) { + this.authorizationEncryptionAlgValuesSupported = authorizationEncryptionAlgValuesSupported; + } + + public List getAuthorizationEncryptionEncValuesSupported() { + return authorizationEncryptionEncValuesSupported; + } + + public void setAuthorizationEncryptionEncValuesSupported(List authorizationEncryptionEncValuesSupported) { + this.authorizationEncryptionEncValuesSupported = authorizationEncryptionEncValuesSupported; + } + + public Boolean getFrontChannelLogoutSessionSupported() { + return frontChannelLogoutSessionSupported; + } + + public void setFrontChannelLogoutSessionSupported(Boolean frontChannelLogoutSessionSupported) { + this.frontChannelLogoutSessionSupported = frontChannelLogoutSessionSupported; + } + + public Boolean getFrontChannelLogoutSupported() { + return frontChannelLogoutSupported; + } + + public void setFrontChannelLogoutSupported(Boolean frontChannelLogoutSupported) { + this.frontChannelLogoutSupported = frontChannelLogoutSupported; + } + + public Boolean getAuthorizationResponseIssParameterSupported() { + return authorizationResponseIssParameterSupported; + } + + public void setAuthorizationResponseIssParameterSupported(Boolean authorizationResponseIssParameterSupported) { + this.authorizationResponseIssParameterSupported = authorizationResponseIssParameterSupported; + } + +}