Class OID4VCUtil

java.lang.Object
org.keycloak.protocol.oid4vc.utils.OID4VCUtil

public class OID4VCUtil extends Object
  • Method Summary

    Modifier and Type
    Method
    Description
    static org.keycloak.models.IssuedVerifiableCredentialModel
    checkIssuedVerifiableCredential(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserModel user, String issuedCredentialId, org.keycloak.models.oid4vci.CredentialScopeModel expectedCredentialScope, org.keycloak.models.ClientModel expectedClient)
    Check issued-credential present on the user with expected ID and expected issued-credential-id and credential-scope
    static List<org.keycloak.models.IssuedVerifiableCredentialModel>
    getIssuedVerifiableCredentialsByUserAndClient(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserModel user, org.keycloak.models.ClientModel client)
     
    static String
    getOfferAsUri(org.keycloak.models.KeycloakSession session, String nonce)
     
    static boolean
    hasVerifiableCredential(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserModel user, org.keycloak.models.oid4vci.CredentialScopeModel credentialScope)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getOfferAsUri

      public static String getOfferAsUri(org.keycloak.models.KeycloakSession session, String nonce)
      Parameters:
      session - Keycloak session
      nonce - nonce, which is part of the credential offer URI
      Returns:
      Credential offer as URI, which can be shared with the wallet
    • hasVerifiableCredential

      public static boolean hasVerifiableCredential(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserModel user, org.keycloak.models.oid4vci.CredentialScopeModel credentialScope)
      Parameters:
      session - Keycloak session
      user - user
      credentialScope - credential scope
      Returns:
      true if particular user has verifiable credential set on his account
    • checkIssuedVerifiableCredential

      public static org.keycloak.models.IssuedVerifiableCredentialModel checkIssuedVerifiableCredential(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserModel user, String issuedCredentialId, org.keycloak.models.oid4vci.CredentialScopeModel expectedCredentialScope, org.keycloak.models.ClientModel expectedClient)
      Check issued-credential present on the user with expected ID and expected issued-credential-id and credential-scope
      Parameters:
      session - kc session
      user - user
      issuedCredentialId - issued credential ID
      expectedCredentialScope - expected credential scope
      expectedClient - expected client
      Returns:
      issued verifiable credential model (as long as it is found)
      Throws:
      IllegalStateException - in case that issued-credential not present or does not match with user, client or clientScope
      IllegalStateException - in case that issued verifiable credential is not found or is expired
    • getIssuedVerifiableCredentialsByUserAndClient

      public static List<org.keycloak.models.IssuedVerifiableCredentialModel> getIssuedVerifiableCredentialsByUserAndClient(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserModel user, org.keycloak.models.ClientModel client)