100 boolean valid =
true;
101 Set<String> redirectUriHosts =
new HashSet<String>();
104 if (redirectUris != null && !redirectUris.isEmpty()) {
105 for (String redirectUri : redirectUris) {
106 if (redirectUri == null || redirectUri.contains(
"#")) {
109 URI uri =
new URI(redirectUri);
110 redirectUriHosts.add(uri.getHost());
111 switch (applicationType) {
113 if (
HTTP.equalsIgnoreCase(uri.getScheme())) {
114 if (!
LOCALHOST.equalsIgnoreCase(uri.getHost()) && !
LOOPBACK.equalsIgnoreCase(uri.getHost())) {
115 log.error(
"Invalid protocol for redirect_uri: " +
117 " (only https protocol is allowed for application_type=web or localhost/127.0.0.1 for http)");
137 }
catch (URISyntaxException e) {
152 if (subjectType != null && subjectType.equals(SubjectType.PAIRWISE) && StringUtils.isBlank(sectorIdentifierUrl)) {
153 if (redirectUriHosts.size() > 1) {
159 if (valid && StringUtils.isNotBlank(sectorIdentifierUrl)) {
161 URI uri =
new URI(sectorIdentifierUrl);
162 if (!
HTTPS.equalsIgnoreCase(uri.getScheme())) {
166 ClientRequest clientRequest =
new ClientRequest(sectorIdentifierUrl);
167 clientRequest.setHttpMethod(HttpMethod.GET);
169 ClientResponse<String> clientResponse = clientRequest.get(String.class);
170 int status = clientResponse.getStatus();
173 String entity = clientResponse.getEntity(String.class);
175 JSONArray sectorIdentifierJsonArray =
new JSONArray(entity);
176 valid = Util.asList(sectorIdentifierJsonArray).containsAll(redirectUris);
178 }
catch (Exception e) {
179 log.trace(e.getMessage(), e);
boolean checkBlackListRedirectUris(List< String > redirectUris)
Definition: RegisterParamsValidator.java:210
static final String LOCALHOST
Definition: RegisterParamsValidator.java:54
boolean checkWhiteListRedirectUris(List< String > redirectUris)
Definition: RegisterParamsValidator.java:195
static final String HTTPS
Definition: RegisterParamsValidator.java:53
static final String LOOPBACK
Definition: RegisterParamsValidator.java:55
static final String HTTP
Definition: RegisterParamsValidator.java:52
Logger log
Definition: RegisterParamsValidator.java:47