Package org.keycloak.credential
Class WebAuthnCredentialProvider
java.lang.Object
org.keycloak.credential.WebAuthnCredentialProvider
- All Implemented Interfaces:
org.keycloak.credential.CredentialInputValidator,org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>,org.keycloak.provider.Provider
- Direct Known Subclasses:
WebAuthnPasswordlessCredentialProvider
public class WebAuthnCredentialProvider
extends Object
implements org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>, org.keycloak.credential.CredentialInputValidator
Credential provider for WebAuthn 2-factor credential of the user
-
Constructor Summary
ConstructorsConstructorDescriptionWebAuthnCredentialProvider(org.keycloak.models.KeycloakSession session, WebAuthnMetadataService metadataService, com.webauthn4j.converter.util.ObjectConverter objectConverter) -
Method Summary
Modifier and TypeMethodDescriptionorg.keycloak.credential.CredentialModelcreateCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.credential.WebAuthnCredentialModel credentialModel) booleandeleteCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialId) voiddumpCredentialModel(org.keycloak.models.credential.WebAuthnCredentialModel credential, WebAuthnCredentialModelInput auth) org.keycloak.models.credential.WebAuthnCredentialModelgetCredentialForPresentationFromModel(org.keycloak.credential.CredentialModel model) org.keycloak.models.credential.WebAuthnCredentialModelgetCredentialFromModel(org.keycloak.credential.CredentialModel model) org.keycloak.credential.CredentialMetadatagetCredentialMetadata(org.keycloak.models.credential.WebAuthnCredentialModel credentialModel, org.keycloak.credential.CredentialTypeMetadata credentialTypeMetadata) org.keycloak.models.credential.WebAuthnCredentialModelgetCredentialModelFromCredentialInput(org.keycloak.credential.CredentialInput input, String userLabel) Convert WebAuthn credential input to the model, which can be saved in the persistent storage (DB)org.keycloak.credential.CredentialTypeMetadatagetCredentialTypeMetadata(org.keycloak.credential.CredentialTypeMetadataContext metadataContext) protected org.keycloak.models.KeycloakSessiongetType()protected com.webauthn4j.WebAuthnAuthenticationManagerprotected org.keycloak.models.WebAuthnPolicybooleanisConfiguredFor(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialType) booleanisValid(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.credential.CredentialInput input) booleansupportsCredentialType(String credentialType) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.credential.CredentialProvider
close, getDefaultCredential, supportsCredentialType
-
Constructor Details
-
WebAuthnCredentialProvider
public WebAuthnCredentialProvider(org.keycloak.models.KeycloakSession session, WebAuthnMetadataService metadataService, com.webauthn4j.converter.util.ObjectConverter objectConverter)
-
-
Method Details
-
createCredential
public org.keycloak.credential.CredentialModel createCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.credential.WebAuthnCredentialModel credentialModel) - Specified by:
createCredentialin interfaceorg.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>
-
deleteCredential
public boolean deleteCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialId) - Specified by:
deleteCredentialin interfaceorg.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>
-
getCredentialFromModel
public org.keycloak.models.credential.WebAuthnCredentialModel getCredentialFromModel(org.keycloak.credential.CredentialModel model) - Specified by:
getCredentialFromModelin interfaceorg.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>
-
getCredentialForPresentationFromModel
public org.keycloak.models.credential.WebAuthnCredentialModel getCredentialForPresentationFromModel(org.keycloak.credential.CredentialModel model) - Specified by:
getCredentialForPresentationFromModelin interfaceorg.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>
-
getCredentialModelFromCredentialInput
public org.keycloak.models.credential.WebAuthnCredentialModel getCredentialModelFromCredentialInput(org.keycloak.credential.CredentialInput input, String userLabel) Convert WebAuthn credential input to the model, which can be saved in the persistent storage (DB)- Parameters:
input- should be typically WebAuthnCredentialModelInputuserLabel- label for the credential
-
supportsCredentialType
- Specified by:
supportsCredentialTypein interfaceorg.keycloak.credential.CredentialInputValidator- Specified by:
supportsCredentialTypein interfaceorg.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>
-
isConfiguredFor
public boolean isConfiguredFor(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialType) - Specified by:
isConfiguredForin interfaceorg.keycloak.credential.CredentialInputValidator
-
isValid
public boolean isValid(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.credential.CredentialInput input) - Specified by:
isValidin interfaceorg.keycloak.credential.CredentialInputValidator
-
getWebAuthnAuthenticationManager
protected com.webauthn4j.WebAuthnAuthenticationManager getWebAuthnAuthenticationManager() -
getWebAuthnPolicy
protected org.keycloak.models.WebAuthnPolicy getWebAuthnPolicy() -
getType
- Specified by:
getTypein interfaceorg.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>
-
dumpCredentialModel
public void dumpCredentialModel(org.keycloak.models.credential.WebAuthnCredentialModel credential, WebAuthnCredentialModelInput auth) -
getCredentialTypeMetadata
public org.keycloak.credential.CredentialTypeMetadata getCredentialTypeMetadata(org.keycloak.credential.CredentialTypeMetadataContext metadataContext) - Specified by:
getCredentialTypeMetadatain interfaceorg.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>
-
getKeycloakSession
protected org.keycloak.models.KeycloakSession getKeycloakSession() -
getCredentialMetadata
public org.keycloak.credential.CredentialMetadata getCredentialMetadata(org.keycloak.models.credential.WebAuthnCredentialModel credentialModel, org.keycloak.credential.CredentialTypeMetadata credentialTypeMetadata) - Specified by:
getCredentialMetadatain interfaceorg.keycloak.credential.CredentialProvider<org.keycloak.models.credential.WebAuthnCredentialModel>
-
getMetadataService
-