Compare commits

...

2 Commits

2 changed files with 11 additions and 9 deletions

12
pom.xml
View File

@ -7,7 +7,7 @@
<parent> <parent>
<artifactId>maven-parent</artifactId> <artifactId>maven-parent</artifactId>
<groupId>org.gcube.tools</groupId> <groupId>org.gcube.tools</groupId>
<version>1.2.1-SNAPSHOT</version> <version>1.2.2-SNAPSHOT</version>
</parent> </parent>
<groupId>org.gcube.iam</groupId> <groupId>org.gcube.iam</groupId>
@ -140,11 +140,11 @@
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<resources> <!-- <resources>-->
<resource> <!-- <resource>-->
<directory>src/main/resources</directory> <!-- <directory>src/main/resources</directory>-->
</resource> <!-- </resource>-->
</resources> <!-- </resources>-->
<plugins> <plugins>
<!-- <plugin>--> <!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>--> <!-- <groupId>org.apache.maven.plugins</groupId>-->

View File

@ -100,12 +100,12 @@ public class D4ScienceContextMapper extends AbstractOIDCProtocolMapper implement
// Since only the OIDCAccessTokenMapper interface is implemented, we are almost sure that // Since only the OIDCAccessTokenMapper interface is implemented, we are almost sure that
// the token object is an AccessToken but adding a specific check anyway // the token object is an AccessToken but adding a specific check anyway
if (token instanceof AccessToken) { if (token instanceof AccessToken) {
AccessToken accessToken = ((AccessToken) token); AccessToken accessToken = (AccessToken) token;
String headerName = mappingModel.getConfig().get(HTTP_REQUEST_HEADER_NAME); String headerName = mappingModel.getConfig().get(HTTP_REQUEST_HEADER_NAME);
if (headerName == null || "".equals(headerName)) { if (headerName == null || "".equals(headerName)) {
headerName = DEFAULT_HEADER_NAME; headerName = DEFAULT_HEADER_NAME;
} }
logger.debugf("Looking for the '%s' header", headerName); logger.tracef("Looking for the '%s' header", headerName);
String requestedD4SContext = keycloakSession.getContext().getRequestHeaders().getHeaderString(headerName); String requestedD4SContext = keycloakSession.getContext().getRequestHeaders().getHeaderString(headerName);
if (requestedD4SContext != null && !"".equals(requestedD4SContext)) { if (requestedD4SContext != null && !"".equals(requestedD4SContext)) {
@ -118,7 +118,7 @@ public class D4ScienceContextMapper extends AbstractOIDCProtocolMapper implement
OIDCAttributeMapperHelper.mapClaim(token, mappingModel, requestedD4SContext); OIDCAttributeMapperHelper.mapClaim(token, mappingModel, requestedD4SContext);
if (Boolean.parseBoolean(mappingModel.getConfig().get(NARROW_RESOURCE_ACCESS))) { if (Boolean.parseBoolean(mappingModel.getConfig().get(NARROW_RESOURCE_ACCESS))) {
// Removing all access details but the requested context logger.debugf("Removing all access details but the requested context");
accessToken.getResourceAccess().clear(); accessToken.getResourceAccess().clear();
accessToken.getResourceAccess().put(requestedD4SContext, contextAccessInResourceAccess); accessToken.getResourceAccess().put(requestedD4SContext, contextAccessInResourceAccess);
} }
@ -126,6 +126,8 @@ public class D4ScienceContextMapper extends AbstractOIDCProtocolMapper implement
logger.warnf("Requested context '%s' is not accessible to the client: %s", requestedD4SContext, logger.warnf("Requested context '%s' is not accessible to the client: %s", requestedD4SContext,
clientSessionCtx.getClientSession().getClient().getName()); clientSessionCtx.getClientSession().getClient().getName());
} }
} else {
logger.tracef("Header not found in request");
} }
} }
} }