97 JSONObject requestBody =
new JSONObject();
99 if (StringUtils.isNotBlank(
getRequest().getRegistrationAccessToken())) {
103 requestBody.put(REDIRECT_URIS.toString(),
new JSONArray(
getRequest().getRedirectUris()));
105 if (
getRequest().getClaimsRedirectUris() != null && !
getRequest().getClaimsRedirectUris().isEmpty()) {
106 requestBody.put(CLAIMS_REDIRECT_URIS.toString(),
new JSONArray(
getRequest().getClaimsRedirectUris()));
109 requestBody.put(RESPONSE_TYPES.toString(),
new JSONArray(
getRequest().getResponseTypes()));
112 requestBody.put(GRANT_TYPES.toString(),
new JSONArray(
getRequest().getGrantTypes()));
114 if (
getRequest().getApplicationType() != null) {
115 requestBody.put(APPLICATION_TYPE.toString(),
getRequest().getApplicationType());
118 requestBody.put(CONTACTS.toString(),
new JSONArray(
getRequest().getContacts()));
120 if (StringUtils.isNotBlank(
getRequest().getClientName())) {
121 requestBody.put(CLIENT_NAME.toString(),
getRequest().getClientName());
123 if (StringUtils.isNotBlank(
getRequest().getIdTokenTokenBindingCnf())) {
124 requestBody.put(ID_TOKEN_TOKEN_BINDING_CNF.toString(),
getRequest().getIdTokenTokenBindingCnf());
126 if (StringUtils.isNotBlank(
getRequest().getLogoUri())) {
127 requestBody.put(LOGO_URI.toString(),
getRequest().getLogoUri());
129 if (StringUtils.isNotBlank(
getRequest().getClientUri())) {
130 requestBody.put(CLIENT_URI.toString(),
getRequest().getClientUri());
132 if (StringUtils.isNotBlank(
getRequest().getPolicyUri())) {
133 requestBody.put(POLICY_URI.toString(),
getRequest().getPolicyUri());
135 if (StringUtils.isNotBlank(
getRequest().getTosUri())) {
136 requestBody.put(TOS_URI.toString(),
getRequest().getTosUri());
138 if (StringUtils.isNotBlank(
getRequest().getJwksUri())) {
139 requestBody.put(JWKS_URI.toString(),
getRequest().getJwksUri());
141 if (StringUtils.isNotBlank(
getRequest().getJwks())) {
142 requestBody.put(JWKS.toString(),
getRequest().getJwks());
144 if (StringUtils.isNotBlank(
getRequest().getSectorIdentifierUri())) {
145 requestBody.put(SECTOR_IDENTIFIER_URI.toString(),
getRequest().getSectorIdentifierUri());
148 requestBody.put(SUBJECT_TYPE.toString(),
getRequest().getSubjectType());
150 if (
getRequest().getAccessTokenAsJwt() != null) {
151 requestBody.put(ACCESS_TOKEN_AS_JWT.toString(),
getRequest().getAccessTokenAsJwt().toString());
153 if (
getRequest().getAccessTokenSigningAlg() != null) {
154 requestBody.put(ACCESS_TOKEN_SIGNING_ALG.toString(),
getRequest().getAccessTokenSigningAlg().toString());
156 if (
getRequest().getIdTokenSignedResponseAlg() != null) {
157 requestBody.put(ID_TOKEN_SIGNED_RESPONSE_ALG.toString(),
getRequest().getIdTokenSignedResponseAlg().getName());
159 if (
getRequest().getIdTokenEncryptedResponseAlg() != null) {
160 requestBody.put(ID_TOKEN_ENCRYPTED_RESPONSE_ALG.toString(),
getRequest().getIdTokenEncryptedResponseAlg().getName());
162 if (
getRequest().getIdTokenEncryptedResponseEnc() != null) {
163 requestBody.put(ID_TOKEN_ENCRYPTED_RESPONSE_ENC.toString(),
getRequest().getIdTokenEncryptedResponseEnc().getName());
165 if (
getRequest().getUserInfoSignedResponseAlg() != null) {
166 requestBody.put(USERINFO_SIGNED_RESPONSE_ALG.toString(),
getRequest().getUserInfoSignedResponseAlg().getName());
168 if (
getRequest().getUserInfoEncryptedResponseAlg() != null) {
169 requestBody.put(USERINFO_ENCRYPTED_RESPONSE_ALG.toString(),
getRequest().getUserInfoEncryptedResponseAlg().getName());
171 if (
getRequest().getUserInfoEncryptedResponseEnc() != null) {
172 requestBody.put(USERINFO_ENCRYPTED_RESPONSE_ENC.toString(),
getRequest().getUserInfoEncryptedResponseEnc().getName());
174 if (
getRequest().getRequestObjectSigningAlg() != null) {
175 requestBody.put(REQUEST_OBJECT_SIGNING_ALG.toString(),
getRequest().getRequestObjectSigningAlg().getName());
177 if (
getRequest().getRequestObjectEncryptionAlg() != null) {
178 requestBody.put(REQUEST_OBJECT_ENCRYPTION_ALG.toString(),
getRequest().getRequestObjectEncryptionAlg().getName());
180 if (
getRequest().getRequestObjectEncryptionEnc() != null) {
181 requestBody.put(REQUEST_OBJECT_ENCRYPTION_ENC.toString(),
getRequest().getRequestObjectEncryptionEnc().getName());
183 if (
getRequest().getTokenEndpointAuthMethod() != null) {
184 requestBody.put(TOKEN_ENDPOINT_AUTH_METHOD.toString(),
getRequest().getTokenEndpointAuthMethod());
186 if (
getRequest().getTokenEndpointAuthSigningAlg() != null) {
187 requestBody.put(TOKEN_ENDPOINT_AUTH_SIGNING_ALG.toString(),
getRequest().getTokenEndpointAuthSigningAlg());
189 if (
getRequest().getDefaultMaxAge() != null) {
190 requestBody.put(DEFAULT_MAX_AGE.toString(),
getRequest().getDefaultMaxAge());
192 if (
getRequest().getRequireAuthTime() != null) {
193 requestBody.put(REQUIRE_AUTH_TIME.toString(),
getRequest().getRequireAuthTime());
195 if (
getRequest().getDefaultAcrValues() != null && !
getRequest().getDefaultAcrValues().isEmpty()) {
196 requestBody.put(DEFAULT_ACR_VALUES.toString(),
getRequest().getDefaultAcrValues());
198 if (StringUtils.isNotBlank(
getRequest().getInitiateLoginUri())) {
199 requestBody.put(INITIATE_LOGIN_URI.toString(),
getRequest().getInitiateLoginUri());
201 if (
getRequest().getPostLogoutRedirectUris() != null && !
getRequest().getPostLogoutRedirectUris().isEmpty()) {
202 requestBody.put(POST_LOGOUT_REDIRECT_URIS.toString(),
getRequest().getPostLogoutRedirectUris());
204 if (
getRequest().getFrontChannelLogoutUris() != null && !
getRequest().getFrontChannelLogoutUris().isEmpty()) {
205 requestBody.put(FRONT_CHANNEL_LOGOUT_URI.getName(),
getRequest().getFrontChannelLogoutUris());
207 if (
getRequest().getClientSecretExpiresAt() != null) {
208 requestBody.put(CLIENT_SECRET_EXPIRES_AT_.toString(),
getRequest().getClientSecretExpiresAt().getTime());
211 if (
getRequest().getFrontChannelLogoutSessionRequired() != null) {
212 requestBody.put(FRONT_CHANNEL_LOGOUT_SESSION_REQUIRED.getName(),
getRequest().getFrontChannelLogoutSessionRequired());
215 requestBody.put(REQUEST_URIS.toString(),
new JSONArray(
getRequest().getRequestUris()));
217 if (
getRequest().getAuthorizedOrigins() != null && !
getRequest().getAuthorizedOrigins().isEmpty()) {
218 requestBody.put(AUTHORIZED_ORIGINS.toString(),
new JSONArray(
getRequest().getAuthorizedOrigins()));
222 requestBody.put(SCOPES.toString(),
new JSONArray(
getRequest().getScopes()));
224 String spaceSeparatedScope = implode(
getRequest().getScope(),
" ");
225 requestBody.put(SCOPE.toString(), spaceSeparatedScope);
229 String spaceSeparatedClaims = implode(
getRequest().getClaims(),
" ");
230 requestBody.put(CLAIMS.toString(), spaceSeparatedClaims);
234 final Map<String, String> customAttributes =
getRequest().getCustomAttributes();
235 if (customAttributes != null && !customAttributes.isEmpty()) {
236 for (Map.Entry<String, String> entry : customAttributes.entrySet()) {
237 final String name = entry.getKey();
238 final String value = entry.getValue();
239 if (StringUtils.isNotBlank(name) && StringUtils.isNotBlank(value)) {
240 requestBody.put(name, value);
244 clientRequest.body(MediaType.APPLICATION_JSON, requestBody.toString(4));
248 if (StringUtils.isNotBlank(
getRequest().getRegistrationAccessToken())) {
263 }
catch (JSONException e) {
264 LOG.error(e.getMessage(), e);
265 }
catch (Exception e) {
266 LOG.error(e.getMessage(), e);
void closeConnection()
Definition: BaseClient.java:239
ClientResponse< String > clientResponse
Definition: BaseClient.java:43
static final Logger LOG
Definition: RegisterClient.java:36
V getResponse()
Definition: BaseClient.java:72
String getHttpMethod()
Definition: RegisterClient.java:48
ClientRequest clientRequest
Definition: BaseClient.java:42
T getRequest()
Definition: BaseClient.java:64
void setResponse(V response)
Definition: BaseClient.java:76