Class OID4VCUtil
java.lang.Object
org.keycloak.protocol.oid4vc.utils.OID4VCUtil
-
Method Summary
Modifier and TypeMethodDescriptioncheckIssuedVerifiableCredential(KeycloakSession session, UserModel user, String issuedCredentialId, CredentialScopeModel expectedCredentialScope, ClientModel expectedClient) Check issued-credential present on the user with expected ID and expected issued-credential-id and credential-scopestatic List<IssuedVerifiableCredentialModel>getIssuedVerifiableCredentialsByUserAndClient(KeycloakSession session, UserModel user, ClientModel client) static StringgetOfferAsUri(KeycloakSession session, String nonce) static longReturns the timestamp exposed by the user's password credential.static booleanhasVerifiableCredential(KeycloakSession session, UserModel user, CredentialScopeModel credentialScope)
-
Method Details
-
getOfferAsUri
- Parameters:
session- Keycloak sessionnonce- 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(KeycloakSession session, UserModel user, CredentialScopeModel credentialScope) - Parameters:
session- Keycloak sessionuser- usercredentialScope- credential scope- Returns:
- true if particular user has verifiable credential set on his account
-
getPasswordCredentialTimestamp
Returns the timestamp exposed by the user's password credential.The combined credential stream is important for federated users because providers such as LDAP expose their password modification timestamp as federated credential metadata rather than as a locally stored credential.
- Returns:
- the credential timestamp,
0when the credential has no timestamp, or-1when no password credential metadata is available
-
checkIssuedVerifiableCredential
public static IssuedVerifiableCredentialModel checkIssuedVerifiableCredential(KeycloakSession session, UserModel user, String issuedCredentialId, CredentialScopeModel expectedCredentialScope, ClientModel expectedClient) Check issued-credential present on the user with expected ID and expected issued-credential-id and credential-scope- Parameters:
session- kc sessionuser- userissuedCredentialId- issued credential IDexpectedCredentialScope- expected credential scopeexpectedClient- 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 clientScopeIllegalStateException- in case that issued verifiable credential is not found or is expired
-
getIssuedVerifiableCredentialsByUserAndClient
public static List<IssuedVerifiableCredentialModel> getIssuedVerifiableCredentialsByUserAndClient(KeycloakSession session, UserModel user, ClientModel client)
-