[java-idp-plugin-vci] 01/02: Temporarily to credential definition placed id is now removed and replaced with generated uuid
Codeberg
noreply at shibboleth.net
Wed Aug 5 11:11:47 UTC 2026
This is an automated email from the git hooks/post-receive script.
codeberg pushed a commit to branch dev/STATUS_LIST
in repository java-idp-plugin-vci.
View the commit online:
https://codeberg.org/Shibboleth/java-idp-plugin-vci/commit/19ec1a946f8bed03904452e2bff02a337239a8c4
commit 19ec1a946f8bed03904452e2bff02a337239a8c4
Author: Janne Lauros <janne.lauros at csc.fi>
AuthorDate: Wed Aug 5 14:09:18 2026 +0300
Temporarily to credential definition placed id is now removed and replaced with generated uuid
---
.../openidvci/credential/CredentialDefinition.java | 22 ++--------------------
.../credential/CredentialDefinitionTest.java | 3 +--
.../credentials/CredentialDefinition.json | 1 -
...FormJsonLdSelectiveDisclosureJWTCredential.java | 3 ++-
4 files changed, 5 insertions(+), 24 deletions(-)
diff --git a/openid-vci-api/src/main/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialDefinition.java b/openid-vci-api/src/main/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialDefinition.java
index e965571..98b3cef 100644
--- a/openid-vci-api/src/main/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialDefinition.java
+++ b/openid-vci-api/src/main/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialDefinition.java
@@ -46,12 +46,6 @@ public class CredentialDefinition {
@JsonProperty("@context")
private final List<String> context;
- /** Id of credential definition. */
- @Nullable
- @JsonProperty("id")
- @JsonInclude(Include.NON_NULL)
- private final String id;
-
/** Type of credential definition. */
@Nonnull
@JsonProperty("type")
@@ -79,13 +73,11 @@ public class CredentialDefinition {
* @param type Type of credential definition
*/
private CredentialDefinition(@JsonProperty("@context") @Nonnull List<String> context,
- @JsonProperty("id") @Nullable String id, @JsonProperty("type") @Nonnull List<String> type,
- @JsonProperty("issuer") @Nullable String issuer) {
+ @JsonProperty("type") @Nonnull List<String> type, @JsonProperty("issuer") @Nullable String issuer) {
assert context != null;
assert type != null;
this.context = context;
this.type = type;
- this.id = id;
this.issuer = issuer;
}
@@ -99,16 +91,6 @@ public class CredentialDefinition {
return context;
}
- /**
- * Get Id of credential definition.
- *
- * @return Id of credential definition
- */
- @Nullable
- public String getId() {
- return id;
- }
-
/**
* Get type of credential definition.
*
@@ -148,6 +130,6 @@ public class CredentialDefinition {
if (context == null || type == null) {
return null;
}
- return new CredentialDefinition(context, id, type, issuer);
+ return new CredentialDefinition(context, type, issuer);
}
}
diff --git a/openid-vci-api/src/test/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialDefinitionTest.java b/openid-vci-api/src/test/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialDefinitionTest.java
index 7acdc46..2eaedbd 100644
--- a/openid-vci-api/src/test/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialDefinitionTest.java
+++ b/openid-vci-api/src/test/java/org/geant/shibboleth/plugin/openidvci/credential/CredentialDefinitionTest.java
@@ -48,10 +48,9 @@ public class CredentialDefinitionTest {
"https://www.w3.org/2018/credentials/examples/v1");
Assert.assertEquals(credentialDefinition.getType().get(0), "VerifiableCredential");
Assert.assertEquals(credentialDefinition.getType().get(1), "UniversityDegreeCredential");
- Assert.assertEquals(credentialDefinition.getId(), "http://university.example/credentials/3732");
Assert.assertEquals(credentialDefinition.getIssuer(), "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IlREaW5WM3R5b2VUNEVmVU1Bd25QZnlkbkdzay1qVnczQlFXNldGdnZjRk0iLCJ5IjoiMGplbkx3UG9IbzRfM21Ma2gyMXV5Y0hWTzM3d2hCUTZqd3pDLV9VUXBsdyIsInVzZSI6InNpZyIsImFsZyI6IkVTMjU2In0");
Assert.assertEquals(credentialDefinition.serialize(),
- "{\"@context\":[\"https://www.w3.org/2018/credentials/v1\",\"https://www.w3.org/2018/credentials/examples/v1\"],\"id\":\"http://university.example/credentials/3732\",\"type\":[\"VerifiableCredential\",\"UniversityDegreeCredential\"],\"issuer\":\"did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IlREaW5WM3R5b2VUNEVmVU1Bd25QZnlkbkdzay1qVnczQlFXNldGdnZjRk0iLCJ5IjoiMGplbkx3UG9IbzRfM21Ma2gyMXV5Y0hWTzM3d2hCUTZqd3pDLV9VUXBsdyIsInVzZSI6InNpZyIsImFsZyI6IkVTMjU2In0\"}");
+ "{\"@context\":[\"https://www.w3.org/2018/credentials/v1\",\"https://www.w3.org/2018/credentials/examples/v1\"],\"type\":[\"VerifiableCredential\",\"UniversityDegreeCredential\"],\"issuer\":\"did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IlREaW5WM3R5b2VUNEVmVU1Bd25QZnlkbkdzay1qVnczQlFXNldGdnZjRk0iLCJ5IjoiMGplbkx3UG9IbzRfM21Ma2gyMXV5Y0hWTzM3d2hCUTZqd3pDLV9VUXBsdyIsInVzZSI6InNpZyIsImFsZyI6IkVTMjU2In0\"}");
}
diff --git a/openid-vci-api/src/test/resources/credentials/CredentialDefinition.json b/openid-vci-api/src/test/resources/credentials/CredentialDefinition.json
index fb41c00..fb21edf 100644
--- a/openid-vci-api/src/test/resources/credentials/CredentialDefinition.json
+++ b/openid-vci-api/src/test/resources/credentials/CredentialDefinition.json
@@ -3,7 +3,6 @@
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
- "id": "http://university.example/credentials/3732",
"type": [
"VerifiableCredential",
"UniversityDegreeCredential"
diff --git a/openid-vci-impl/src/main/java/org/geant/shibboleth/plugin/openidvci/profile/impl/FormJsonLdSelectiveDisclosureJWTCredential.java b/openid-vci-impl/src/main/java/org/geant/shibboleth/plugin/openidvci/profile/impl/FormJsonLdSelectiveDisclosureJWTCredential.java
index 692b895..b49625c 100644
--- a/openid-vci-impl/src/main/java/org/geant/shibboleth/plugin/openidvci/profile/impl/FormJsonLdSelectiveDisclosureJWTCredential.java
+++ b/openid-vci-impl/src/main/java/org/geant/shibboleth/plugin/openidvci/profile/impl/FormJsonLdSelectiveDisclosureJWTCredential.java
@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
import java.util.function.Function;
import javax.annotation.Nonnull;
@@ -155,7 +156,7 @@ public class FormJsonLdSelectiveDisclosureJWTCredential extends AbstractProfileA
issuer = issuer == null ? issuerLookupStrategy.apply(profileRequestContext) : issuer;
credentials.add(new JWTClaimsSet.Builder(cred.toJWTClaimsSet())
.claim("@context", ctx.getCredentialConfiguration().getCredentialDefinition().getContext())
- .claim("id", ctx.getCredentialConfiguration().getCredentialDefinition().getId())
+ .claim("id", "urn:uuid:" + UUID.randomUUID())
.claim("type", ctx.getCredentialConfiguration().getCredentialDefinition().getType())
.claim("issuer", issuer).claim("credentialSubject", credentialSubject)
.claim("_sd_alg", "sha-256").build());
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list