diff --git a/gradle.properties b/gradle.properties index bb0b87fb1..003fda4e8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ group=cz.incad.kramerius -version=7.0.40-rc4 +version=7.0.40-rc5 #version=7.0.40-devmerge diff --git a/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/cdk/ClientUserResource.java b/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/cdk/ClientUserResource.java index 8aa8670ed..f354934f4 100644 --- a/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/cdk/ClientUserResource.java +++ b/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/cdk/ClientUserResource.java @@ -182,11 +182,13 @@ private List findLabels(User user) { Pair> retval = proxyUserHandler.user(); if (retval != null) { licenses.addAll(retval.getValue()); - Map sessionAttributes = retval.getKey().getSessionAttributes(); - sessionAttributes.keySet().forEach(key-> { - user.addSessionAttribute(oneInstance.getName()+"_"+key, sessionAttributes.get(key)); - }); - + /** disabled attributes + * + * Map sessionAttributes = retval.getKey().getSessionAttributes(); + * sessionAttributes.keySet().forEach(key-> { + * user.addSessionAttribute(oneInstance.getName()+"_"+key, sessionAttributes.get(key)); + * }); + */ } } catch (ProxyHandlerException e) { LOGGER.log(Level.SEVERE,e.getMessage()); diff --git a/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/ProxyHandlerSupport.java b/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/ProxyHandlerSupport.java index 867a49c4d..95ada63cc 100644 --- a/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/ProxyHandlerSupport.java +++ b/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/ProxyHandlerSupport.java @@ -402,7 +402,8 @@ protected WebResource.Builder buidForwardResponse(String url, boolean headers) { LOGGER.fine(String.format("Requesting %s", url)); WebResource r = client.resource(url); if (headers) { - LOGGER.info("CDK_TOKEN_PARAMETERS = " + header); + String message = String.format("URL(%s), CDK_TOKEN_PARAMETERS(%s)", url, header); + LOGGER.fine(message); return r.header("CDK_TOKEN_PARAMETERS", header); } else { return r.getRequestBuilder(); diff --git a/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/user/V5ForwardUserHandler.java b/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/user/V5ForwardUserHandler.java index b68b1065b..5f3054b08 100644 --- a/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/user/V5ForwardUserHandler.java +++ b/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/user/V5ForwardUserHandler.java @@ -47,6 +47,13 @@ public Pair> user() throws ProxyHandlerException { String baseurl = forwardUrl(); String url = baseurl + (baseurl.endsWith("/") ? "" : "/") + "api/v5.0/cdk/forward/user"; ClientResponse fResponse = super.forwardedResponse(url); + + if (fResponse.getStatus() != 200) { + String errorMessage = "Chyba při volání API: Status code " + fResponse.getStatus() + ", URL: " + url; + LOGGER.log(Level.SEVERE, errorMessage); + throw new ProxyHandlerException(errorMessage); + } + String entity = fResponse.getEntity(String.class); JSONObject jObject = new JSONObject(entity); return userFromJSON(jObject); diff --git a/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/user/V7ForwardUserHandler.java b/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/user/V7ForwardUserHandler.java index 549c45c9a..593ecbfcf 100644 --- a/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/user/V7ForwardUserHandler.java +++ b/rest/src/main/java/cz/incad/kramerius/rest/apiNew/client/v70/redirection/user/V7ForwardUserHandler.java @@ -52,6 +52,13 @@ public Pair> user() throws ProxyHandlerException { String baseurl = forwardUrl(); String url = baseurl + (baseurl.endsWith("/") ? "" : "/") + "api/cdk/v7.0/forward/user"; ClientResponse fResponse = super.forwardedResponse(url); + + if (fResponse.getStatus() != 200) { + String errorMessage = "Chyba při volání API: Status code " + fResponse.getStatus() + ", URL: " + url; + LOGGER.log(Level.SEVERE, errorMessage); + throw new ProxyHandlerException(errorMessage); + } + String entity = fResponse.getEntity(String.class); JSONObject jObject = new JSONObject(entity); return userFromJSON(jObject); diff --git a/search/build.gradle b/search/build.gradle index 8638e2461..750cb2db7 100644 --- a/search/build.gradle +++ b/search/build.gradle @@ -220,10 +220,6 @@ jib { } to { image = "ceskaexpedice/kramerius:${version}" - auth { - username = 'pavelstastny' - password = 'armoAoito1.' - } } container { appRoot = '/usr/local/tomcat/webapps/search' diff --git a/security/authfilters/src/main/java/cz/incad/kramerius/auth/thirdparty/keycloack/KeycloakUserSupport.java b/security/authfilters/src/main/java/cz/incad/kramerius/auth/thirdparty/keycloack/KeycloakUserSupport.java index bc1d688bc..96a59e517 100644 --- a/security/authfilters/src/main/java/cz/incad/kramerius/auth/thirdparty/keycloack/KeycloakUserSupport.java +++ b/security/authfilters/src/main/java/cz/incad/kramerius/auth/thirdparty/keycloack/KeycloakUserSupport.java @@ -14,6 +14,7 @@ import cz.incad.kramerius.security.User; import cz.incad.kramerius.security.impl.UserImpl; import cz.incad.kramerius.security.utils.UserUtils; +import cz.incad.kramerius.utils.conf.KConfiguration; import org.keycloak.KeycloakPrincipal; import org.keycloak.KeycloakSecurityContext; import org.keycloak.adapters.spi.KeycloakAccount; @@ -111,7 +112,24 @@ protected Keycloak3rdUser createUserWrapper(HttpServletRequest req, String userN keycloack3rdUser.setProperty(key, object.toString()); } }); - + + /** K5 instance */ + boolean cdkServerMode = KConfiguration.getInstance().getConfiguration().getBoolean("cdk.server.mode", false); + if (cdkServerMode) { + Set allKeys = keycloack3rdUser.getPropertyKeys(); + if (allKeys.contains("eduPersonScopedAffiliation") && !allKeys.contains("affiliation")) { + keycloack3rdUser.setProperty("affiliation", keycloack3rdUser.getProperty("eduPersonScopedAffiliation")); + } + if (allKeys.contains("eduPersonEntitlement") && !allKeys.contains("entitlement")) { + keycloack3rdUser.setProperty("entitlement", keycloack3rdUser.getProperty("eduPersonEntitlement")); + } + if (allKeys.contains("preffered_user_name") && !allKeys.contains("remote_user")) { + keycloack3rdUser.setProperty("remote_user", keycloack3rdUser.getProperty("preffered_user_name")); + + + } + } + /** standard dnnt user role */ StandardDNNTUsersSupport.makeSureDNNTUsersRole(keycloack3rdUser);