410 if (StringUtils.isBlank(clientId)) {
411 log.error(
"Invalid clientId: {}", clientId);
412 throw new UmaWebException(BAD_REQUEST,
errorResponseFactory, UmaErrorResponseType.INVALID_CLIENT_ID);
415 if (client == null) {
416 log.error(
"Failed to find client with client_id: {}", clientId);
417 throw new UmaWebException(BAD_REQUEST,
errorResponseFactory, UmaErrorResponseType.INVALID_CLIENT_ID);
420 if (StringUtils.isNotBlank(claimsRedirectUri)) {
421 if (ArrayUtils.isEmpty(client.getClaimRedirectUris())) {
422 log.error(
"Client does not have claims_redirect_uri specified, clientId: " + clientId);
423 throw new UmaWebException(BAD_REQUEST,
errorResponseFactory, UmaErrorResponseType.INVALID_CLAIMS_REDIRECT_URI);
426 String equalRedirectUri =
getEqualRedirectUri(claimsRedirectUri, client.getClaimRedirectUris());
427 if (equalRedirectUri != null) {
428 log.trace(
"Found match for claims_redirect_uri : " + equalRedirectUri);
431 log.trace(
"Failed to find match for claims_redirect_uri : " + claimsRedirectUri +
", client claimRedirectUris: " + Arrays.toString(client.getClaimRedirectUris()));
434 log.trace(
"claims_redirect_uri is blank");
435 if (client.getClaimRedirectUris() != null && client.getClaimRedirectUris().length == 1) {
436 log.trace(
"claims_redirect_uri is blank and only one claims_redirect_uri is registered.");
441 if (StringUtils.isBlank(claimsRedirectUri)) {
442 log.error(
"claims_redirect_uri is blank and there is none or more then one registered claims_redirect_uri for clientId: " + clientId);
443 throw new UmaWebException(BAD_REQUEST,
errorResponseFactory, UmaErrorResponseType.INVALID_CLAIMS_REDIRECT_URI);
446 throw new UmaWebException(claimsRedirectUri,
errorResponseFactory, INVALID_CLAIMS_REDIRECT_URI, state);
Logger log
Definition: UmaValidationService.java:85
String getEqualRedirectUri(String redirectUri, String[] clientRedirectUris)
Definition: UmaValidationService.java:449
ErrorResponseFactory errorResponseFactory
Definition: UmaValidationService.java:88
ClientService clientService
Definition: UmaValidationService.java:118
Set< Client > getClient(Collection< String > clientIds, boolean silent)
Definition: ClientService.java:123