private void updateClientDetails()

in services/oidc/src/main/java/org/apache/cxf/fediz/service/oidc/clients/ClientRegistrationService.java [383:445]


    private void updateClientDetails(final Client client,
        String audience, String redirectURI, String logoutURI, String homeRealm) {
        // Client Redirect URIs
        if (!StringUtils.isEmpty(redirectURI)) {
            String[] allUris = redirectURI.trim().split(" ");
            List<String> redirectUris = new ArrayList<>(allUris.length);
            for (String uri : allUris) {
                if (!StringUtils.isEmpty(uri)) {
                    if (!isValidURI(uri, false)) {
                        throw new InvalidRegistrationException("An invalid redirect URI was specified: "
                            + StringEscapeUtils.escapeHtml4(uri));
                    }
                    redirectUris.add(uri);
                }
            }
            client.setRedirectUris(redirectUris);
        } else {
            client.setRedirectUris(Collections.emptyList());
        }

        // Client Logout URI
        if (!StringUtils.isEmpty(logoutURI)) {
            String[] logoutUris = logoutURI.split(" ");
            for (String uri : logoutUris) {
                if (!isValidURI(uri, false)) {
                    throw new InvalidRegistrationException("An invalid logout URI was specified: "
                        + StringEscapeUtils.escapeHtml4(uri));
                }
            }
            //TODO: replace this code with newClient.setLogoutUri() once it becomes available
            client.getProperties().put("post_logout_redirect_uris", logoutURI);
        } else {
            client.getProperties().remove("post_logout_redirect_uris");
        }

        // Client Audience URIs
        if (!StringUtils.isEmpty(audience)) {
            String[] auds = audience.trim().split(" ");
            List<String> registeredAuds = new ArrayList<>(auds.length);
            for (String aud : auds) {
                if (!StringUtils.isEmpty(aud)) {
                    if (!isValidURI(aud, true)) {
                        throw new InvalidRegistrationException("An invalid audience URI was specified: "
                            + StringEscapeUtils.escapeHtml4(aud));
                    }
                    registeredAuds.add(aud);
                }
            }
            client.setRegisteredAudiences(registeredAuds);
        } else {
            client.setRegisteredAudiences(Collections.emptyList());
        }

        // Client Realm
        if (homeRealm != null) {
            client.setHomeRealm(homeRealm);
            if (homeRealms.containsKey(homeRealm)) {
                client.getProperties().put("homeRealmAlias", homeRealms.get(homeRealm));
            } else {
                client.getProperties().remove("homeRealmAlias");
            }
        }
    }