diff --git a/openid-connect-server/src/main/java/org/mitre/oauth2/service/impl/DefaultOAuth2ClientDetailsEntityService.java b/openid-connect-server/src/main/java/org/mitre/oauth2/service/impl/DefaultOAuth2ClientDetailsEntityService.java index a8676d370..175c906fd 100644 --- a/openid-connect-server/src/main/java/org/mitre/oauth2/service/impl/DefaultOAuth2ClientDetailsEntityService.java +++ b/openid-connect-server/src/main/java/org/mitre/oauth2/service/impl/DefaultOAuth2ClientDetailsEntityService.java @@ -71,11 +71,13 @@ public class DefaultOAuth2ClientDetailsEntityService implements ClientDetailsEnt throw new IllegalArgumentException("Tried to save a new client with an existing ID: " + client.getId()); } - for (String uri : client.getRegisteredRedirectUri()) { - if (blacklistedSiteService.isBlacklisted(uri)) { - throw new IllegalArgumentException("Client URI is blacklisted: " + uri); - } - } + if (client.getRegisteredRedirectUri() != null) { + for (String uri : client.getRegisteredRedirectUri()) { + if (blacklistedSiteService.isBlacklisted(uri)) { + throw new IllegalArgumentException("Client URI is blacklisted: " + uri); + } + } + } // assign a random clientid if it's empty // NOTE: don't assign a random client secret without asking, since public clients have no secret diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/web/ClientDynamicRegistrationEndpoint.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/web/ClientDynamicRegistrationEndpoint.java index 09c59754f..1552b6ca7 100644 --- a/openid-connect-server/src/main/java/org/mitre/openid/connect/web/ClientDynamicRegistrationEndpoint.java +++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/web/ClientDynamicRegistrationEndpoint.java @@ -168,32 +168,6 @@ public class ClientDynamicRegistrationEndpoint { } }); } - - - //TODO: this is a stub, make it work - @InitBinder({"require_auth_time"}) - public void authTimeInitBinder(WebDataBinder binder) { - /* - * Space-separated set of strings - */ - binder.registerCustomEditor(Boolean.class, new PropertyEditorSupport() { - @Override - public void setAsText(String text) throws IllegalArgumentException { - if (Strings.isNullOrEmpty(text)) { - setValue(false); - } else { - setValue(new Boolean(text)); - } - } - - @Override - public String getAsText() { - Boolean bool = (Boolean) getValue(); - return bool == null? "false" : bool.toString(); - } - }); - - } @RequestMapping(params = "type=client_associate", produces = "application/json") public String clientAssociate( @@ -225,7 +199,7 @@ public class ClientDynamicRegistrationEndpoint { */ @RequestParam(value = "default_max_age", required = false) Integer defaultMaxAge, - @RequestParam(value = "require_auth_time", required = false) Boolean requireAuthTime, + @RequestParam(value = "require_auth_time", required = false, defaultValue = "true") Boolean requireAuthTime, @RequestParam(value = "default_acr", required = false) String defaultAcr, ModelMap model ) {