Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • dBucik/endpoint_auth_methods
  • dBucik/skip_logout_confirm
  • fix_juridiction
  • main
  • revert-d2e009d2
  • token_endpoint_auth_methods
  • mitreid-connect-0.9.0
  • mitreid-connect-0.9.1
  • mitreid-connect-0.9.2
  • mitreid-connect-0.9.3
  • mitreid-connect-1.0.0
  • mitreid-connect-1.0.1
  • mitreid-connect-1.0.10
  • mitreid-connect-1.0.11
  • mitreid-connect-1.0.12
  • mitreid-connect-1.0.13
  • mitreid-connect-1.0.14
  • mitreid-connect-1.0.15
  • mitreid-connect-1.0.16
  • mitreid-connect-1.0.17
  • mitreid-connect-1.0.18
  • mitreid-connect-1.0.19
  • mitreid-connect-1.0.2
  • mitreid-connect-1.0.20
  • mitreid-connect-1.0.21
  • mitreid-connect-1.0.22
  • mitreid-connect-1.0.3
  • mitreid-connect-1.0.4
  • mitreid-connect-1.0.5
  • mitreid-connect-1.0.6
  • mitreid-connect-1.0.7
  • mitreid-connect-1.0.8
  • mitreid-connect-1.0.9
  • mitreid-connect-1.1.0
  • mitreid-connect-1.1.1
  • mitreid-connect-1.1.10
  • mitreid-connect-1.1.11
  • mitreid-connect-1.1.12
  • mitreid-connect-1.1.13
  • mitreid-connect-1.1.14
  • mitreid-connect-1.1.15
  • mitreid-connect-1.1.16
  • mitreid-connect-1.1.17
  • mitreid-connect-1.1.18
  • mitreid-connect-1.1.19
  • mitreid-connect-1.1.2
  • mitreid-connect-1.1.3
  • mitreid-connect-1.1.4
  • mitreid-connect-1.1.5
  • mitreid-connect-1.1.6
  • mitreid-connect-1.1.7
  • mitreid-connect-1.1.8
  • mitreid-connect-1.1.9
  • mitreid-connect-1.2.0
  • mitreid-connect-1.2.0-RC1
  • mitreid-connect-1.2.0-RC2
  • mitreid-connect-1.2.1
  • mitreid-connect-1.2.2
  • mitreid-connect-1.2.3
  • mitreid-connect-1.2.4
  • mitreid-connect-1.2.5
  • mitreid-connect-1.2.6
  • mitreid-connect-1.3.0
  • mitreid-connect-1.3.0-RC1
  • mitreid-connect-1.3.0-RC2
  • mitreid-connect-1.3.1
  • mitreid-connect-1.3.2
  • mitreid-connect-1.3.3
  • v10.0.0
  • v10.0.1
  • v10.0.2
  • v10.0.3
  • v10.1.0
  • v10.1.1
  • v10.1.2
  • v10.1.3
  • v10.2.0
  • v10.2.1
  • v10.3.0
  • v10.3.1
  • v10.3.2
  • v10.3.3
  • v10.3.4
  • v10.4.0
  • v10.5.0
  • v10.5.1
  • v10.5.2
  • v10.5.3
  • v10.5.4
  • v11.0.0
  • v11.0.1
  • v11.0.2
  • v11.0.3
  • v12.0.0
  • v12.0.1
  • v12.0.2
  • v12.0.3
  • v12.0.4
  • v12.0.5
  • v12.1.0
  • v12.1.1
  • v12.1.2
  • v12.1.3
  • v12.1.4
  • v12.1.5
  • v12.1.6
106 results

Target

Select target project
  • perun/perun-proxyidp/v1/OpenID-Connect-Java-Spring-Server
1 result
Select Git revision
  • dBucik/endpoint_auth_methods
  • dBucik/skip_logout_confirm
  • fix_juridiction
  • main
  • revert-d2e009d2
  • token_endpoint_auth_methods
  • mitreid-connect-0.9.0
  • mitreid-connect-0.9.1
  • mitreid-connect-0.9.2
  • mitreid-connect-0.9.3
  • mitreid-connect-1.0.0
  • mitreid-connect-1.0.1
  • mitreid-connect-1.0.10
  • mitreid-connect-1.0.11
  • mitreid-connect-1.0.12
  • mitreid-connect-1.0.13
  • mitreid-connect-1.0.14
  • mitreid-connect-1.0.15
  • mitreid-connect-1.0.16
  • mitreid-connect-1.0.17
  • mitreid-connect-1.0.18
  • mitreid-connect-1.0.19
  • mitreid-connect-1.0.2
  • mitreid-connect-1.0.20
  • mitreid-connect-1.0.21
  • mitreid-connect-1.0.22
  • mitreid-connect-1.0.3
  • mitreid-connect-1.0.4
  • mitreid-connect-1.0.5
  • mitreid-connect-1.0.6
  • mitreid-connect-1.0.7
  • mitreid-connect-1.0.8
  • mitreid-connect-1.0.9
  • mitreid-connect-1.1.0
  • mitreid-connect-1.1.1
  • mitreid-connect-1.1.10
  • mitreid-connect-1.1.11
  • mitreid-connect-1.1.12
  • mitreid-connect-1.1.13
  • mitreid-connect-1.1.14
  • mitreid-connect-1.1.15
  • mitreid-connect-1.1.16
  • mitreid-connect-1.1.17
  • mitreid-connect-1.1.18
  • mitreid-connect-1.1.19
  • mitreid-connect-1.1.2
  • mitreid-connect-1.1.3
  • mitreid-connect-1.1.4
  • mitreid-connect-1.1.5
  • mitreid-connect-1.1.6
  • mitreid-connect-1.1.7
  • mitreid-connect-1.1.8
  • mitreid-connect-1.1.9
  • mitreid-connect-1.2.0
  • mitreid-connect-1.2.0-RC1
  • mitreid-connect-1.2.0-RC2
  • mitreid-connect-1.2.1
  • mitreid-connect-1.2.2
  • mitreid-connect-1.2.3
  • mitreid-connect-1.2.4
  • mitreid-connect-1.2.5
  • mitreid-connect-1.2.6
  • mitreid-connect-1.3.0
  • mitreid-connect-1.3.0-RC1
  • mitreid-connect-1.3.0-RC2
  • mitreid-connect-1.3.1
  • mitreid-connect-1.3.2
  • mitreid-connect-1.3.3
  • v10.0.0
  • v10.0.1
  • v10.0.2
  • v10.0.3
  • v10.1.0
  • v10.1.1
  • v10.1.2
  • v10.1.3
  • v10.2.0
  • v10.2.1
  • v10.3.0
  • v10.3.1
  • v10.3.2
  • v10.3.3
  • v10.3.4
  • v10.4.0
  • v10.5.0
  • v10.5.1
  • v10.5.2
  • v10.5.3
  • v10.5.4
  • v11.0.0
  • v11.0.1
  • v11.0.2
  • v11.0.3
  • v12.0.0
  • v12.0.1
  • v12.0.2
  • v12.0.3
  • v12.0.4
  • v12.0.5
  • v12.1.0
  • v12.1.1
  • v12.1.2
  • v12.1.3
  • v12.1.4
  • v12.1.5
  • v12.1.6
106 results
Show changes
Commits on Source (3)
# [18.3.0](https://gitlab.ics.muni.cz/perun/perun-proxyidp/v1/OpenID-Connect-Java-Spring-Server/compare/v18.2.0...v18.3.0) (2024-04-09)
### Features
* 🎸 allow claimModifier to replace old value (configurable) ([c615346](https://gitlab.ics.muni.cz/perun/perun-proxyidp/v1/OpenID-Connect-Java-Spring-Server/commit/c61534601a7ec94325d47b2f07fa3eeaa0ff5bdf))
# [18.2.0](https://gitlab.ics.muni.cz/perun/perun-proxyidp/v1/OpenID-Connect-Java-Spring-Server/compare/v18.1.0...v18.2.0) (2024-04-08) # [18.2.0](https://gitlab.ics.muni.cz/perun/perun-proxyidp/v1/OpenID-Connect-Java-Spring-Server/compare/v18.1.0...v18.2.0) (2024-04-08)
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<parent> <parent>
<groupId>cz.muni.ics</groupId> <groupId>cz.muni.ics</groupId>
<artifactId>perun-oidc-parent</artifactId> <artifactId>perun-oidc-parent</artifactId>
<version>18.2.0</version> <version>18.3.0</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
</parent> </parent>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<parent> <parent>
<groupId>cz.muni.ics</groupId> <groupId>cz.muni.ics</groupId>
<artifactId>perun-oidc-parent</artifactId> <artifactId>perun-oidc-parent</artifactId>
<version>18.2.0</version> <version>18.3.0</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
</parent> </parent>
......
package cz.muni.ics.oidc.server.claims; package cz.muni.ics.oidc.server.claims;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
/** /**
...@@ -15,9 +16,13 @@ public abstract class ClaimModifier { ...@@ -15,9 +16,13 @@ public abstract class ClaimModifier {
private final String claimName; private final String claimName;
private final String modifierName; private final String modifierName;
@Getter
private final boolean replaceOldValue;
public ClaimModifier(ClaimModifierInitContext ctx) { public ClaimModifier(ClaimModifierInitContext ctx) {
this.claimName = ctx.getClaimName(); this.claimName = ctx.getClaimName();
this.modifierName = ctx.getModifierName(); this.modifierName = ctx.getModifierName();
this.replaceOldValue = ctx.isReplaceOldValue();
log.debug("{} - claim modifier initialized", ctx.getClaimName()); log.debug("{} - claim modifier initialized", ctx.getClaimName());
} }
......
...@@ -15,12 +15,13 @@ import java.util.Properties; ...@@ -15,12 +15,13 @@ import java.util.Properties;
public class ClaimModifierInitContext extends ClaimInitContext { public class ClaimModifierInitContext extends ClaimInitContext {
private final String modifierName; private final String modifierName;
private final boolean replaceOldValue;
public ClaimModifierInitContext(String propertyPrefix, Properties properties, String claimName, String modifierName) { public ClaimModifierInitContext(String propertyPrefix, Properties properties, String claimName, String modifierName) {
super(propertyPrefix, properties, claimName); super(propertyPrefix, properties, claimName);
this.modifierName = modifierName; this.modifierName = modifierName;
this.replaceOldValue = Boolean.parseBoolean(getProperty("replaceOldValue", "true"));
log.debug("{}:{} - context: property prefix for modifier configured to '{}'", log.debug("{}:{} - context: property prefix for modifier configured to '{}'",
claimName, modifierName, propertyPrefix); claimName, modifierName, propertyPrefix);
} }
......
...@@ -303,15 +303,19 @@ public class PerunUserInfoCacheLoader extends CacheLoader<UserInfoCacheKey, User ...@@ -303,15 +303,19 @@ public class PerunUserInfoCacheLoader extends CacheLoader<UserInfoCacheKey, User
return TextNode.valueOf(modifier.modify(claimInJson.asText())); return TextNode.valueOf(modifier.modify(claimInJson.asText()));
} else if (claimInJson.isArray()) { } else if (claimInJson.isArray()) {
ArrayNode arrayNode = (ArrayNode) claimInJson; ArrayNode arrayNode = (ArrayNode) claimInJson;
ArrayNode newArrayNode = JsonNodeFactory.instance.arrayNode();
for (int i = 0; i < arrayNode.size(); i++) { for (int i = 0; i < arrayNode.size(); i++) {
JsonNode item = arrayNode.get(i); JsonNode item = arrayNode.get(i);
if (item.isTextual()) { if (item.isTextual()) {
String original = item.asText(); String original = item.asText();
String modified = modifier.modify(original); String modified = modifier.modify(original);
arrayNode.set(i, TextNode.valueOf(modified)); if (!modifier.isReplaceOldValue()) {
newArrayNode.add(TextNode.valueOf(original));
}
newArrayNode.add(TextNode.valueOf(modified));
} }
} }
return arrayNode; return newArrayNode;
} else { } else {
log.warn("Original value is neither string nor array of strings - cannot modify values"); log.warn("Original value is neither string nor array of strings - cannot modify values");
return orig; return orig;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>cz.muni.ics</groupId> <groupId>cz.muni.ics</groupId>
<artifactId>perun-oidc-parent</artifactId> <artifactId>perun-oidc-parent</artifactId>
<version>18.2.0</version> <version>18.3.0</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
......