[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