55 String sectorIdentifierUri = client.getSectorIdentifierUri();
56 String[] redirectUris = client.getRedirectUris();
58 if (StringUtils.isNotBlank(sectorIdentifierUri)) {
59 ClientRequest clientRequest =
new ClientRequest(sectorIdentifierUri);
60 clientRequest.setHttpMethod(HttpMethod.GET);
62 ClientResponse<String> clientResponse = clientRequest.get(String.class);
63 int status = clientResponse.getStatus();
66 String entity = clientResponse.getEntity(String.class);
67 JSONArray sectorIdentifierJsonArray =
new JSONArray(entity);
68 redirectUris =
new String[sectorIdentifierJsonArray.length()];
69 for (
int i = 0; i < sectorIdentifierJsonArray.length(); i++) {
70 redirectUris[i] = sectorIdentifierJsonArray.getString(i);
77 if (StringUtils.isNotBlank(redirectionUri) && redirectUris != null) {
78 log.debug(
"Validating redirection URI: clientIdentifier = {}, redirectionUri = {}, found = {}",
79 clientIdentifier, redirectionUri, redirectUris.length);
83 for (String uri : redirectUris) {
84 log.debug(
"Comparing {} == {}", uri, redirectionUri);
85 if (uri.equals(redirectionUri)) {
86 return redirectionUri;
90 final Map<String, String> params =
getParams(uri);
92 if ((uriWithoutParams.equals(redirectUriWithoutParams) && params.size() == 0 &&
getParams(redirectionUri).size() == 0) ||
93 uriWithoutParams.equals(redirectUriWithoutParams) && params.size() > 0 &&
compareParams(redirectionUri, uri)) {
94 return redirectionUri;
99 if (redirectUris != null && redirectUris.length == 1) {
100 return redirectUris[0];
104 }
catch (Exception e) {
static Map< String, String > getParams(String uri)
Definition: RedirectionUriService.java:179
static String uriWithoutParams(String uri)
Definition: RedirectionUriService.java:192
static boolean compareParams(String uri1, String uri2)
Definition: RedirectionUriService.java:202
Set< Client > getClient(Collection< String > clientIds, boolean silent)
Definition: ClientService.java:123
Logger log
Definition: RedirectionUriService.java:42
ClientService clientService
Definition: RedirectionUriService.java:45