Class PasswordCredentialProvider

java.lang.Object
org.keycloak.credential.PasswordCredentialProvider
All Implemented Interfaces:
org.keycloak.credential.CredentialInputUpdater, org.keycloak.credential.CredentialInputValidator, org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.PasswordCredentialModel>, org.keycloak.provider.Provider

public class PasswordCredentialProvider extends Object implements org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.PasswordCredentialModel>, org.keycloak.credential.CredentialInputUpdater, org.keycloak.credential.CredentialInputValidator
Version:
$Revision: 1 $
Author:
Bill Burke
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final org.keycloak.models.KeycloakSession
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    PasswordCredentialProvider(org.keycloak.models.KeycloakSession session, io.micrometer.core.instrument.Meter.MeterProvider<io.micrometer.core.instrument.Counter> meterProvider, boolean metricsEnabled, boolean withRealmInMetric, boolean withAlgorithmInMetric, boolean withHashingStrengthInMetric, boolean withOutcomeInMetric)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    createCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String password)
     
    org.keycloak.credential.CredentialModel
    createCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.credential.PasswordCredentialModel credentialModel)
     
    boolean
    deleteCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialId)
     
    void
    disableCredentialType(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialType)
     
    org.keycloak.models.credential.PasswordCredentialModel
    getCredentialFromModel(org.keycloak.credential.CredentialModel model)
     
    org.keycloak.credential.CredentialTypeMetadata
    getCredentialTypeMetadata(org.keycloak.credential.CredentialTypeMetadataContext metadataContext)
     
    getDisableableCredentialTypesStream(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user)
     
    protected org.keycloak.credential.hash.PasswordHashProvider
    getHashProvider(org.keycloak.models.PasswordPolicy policy)
     
    org.keycloak.models.credential.PasswordCredentialModel
    getPassword(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user)
     
     
    boolean
    isConfiguredFor(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialType)
     
    boolean
    isValid(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.credential.CredentialInput input)
     
    boolean
     
    boolean
    updateCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.credential.CredentialInput input)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.keycloak.credential.CredentialInputUpdater

    getCredentials

    Methods inherited from interface org.keycloak.credential.CredentialProvider

    close, getCredentialForPresentationFromModel, getCredentialMetadata, getDefaultCredential, supportsCredentialType
  • Field Details

    • session

      protected final org.keycloak.models.KeycloakSession session
  • Constructor Details

    • PasswordCredentialProvider

      public PasswordCredentialProvider(org.keycloak.models.KeycloakSession session, io.micrometer.core.instrument.Meter.MeterProvider<io.micrometer.core.instrument.Counter> meterProvider, boolean metricsEnabled, boolean withRealmInMetric, boolean withAlgorithmInMetric, boolean withHashingStrengthInMetric, boolean withOutcomeInMetric)
  • Method Details

    • getPassword

      public org.keycloak.models.credential.PasswordCredentialModel getPassword(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user)
    • createCredential

      public boolean createCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String password)
    • createCredential

      public org.keycloak.credential.CredentialModel createCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.models.credential.PasswordCredentialModel credentialModel)
      Specified by:
      createCredential in interface org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.PasswordCredentialModel>
    • deleteCredential

      public boolean deleteCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialId)
      Specified by:
      deleteCredential in interface org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.PasswordCredentialModel>
    • getCredentialFromModel

      public org.keycloak.models.credential.PasswordCredentialModel getCredentialFromModel(org.keycloak.credential.CredentialModel model)
      Specified by:
      getCredentialFromModel in interface org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.PasswordCredentialModel>
    • getHashProvider

      protected org.keycloak.credential.hash.PasswordHashProvider getHashProvider(org.keycloak.models.PasswordPolicy policy)
    • supportsCredentialType

      public boolean supportsCredentialType(String credentialType)
      Specified by:
      supportsCredentialType in interface org.keycloak.credential.CredentialInputUpdater
      Specified by:
      supportsCredentialType in interface org.keycloak.credential.CredentialInputValidator
      Specified by:
      supportsCredentialType in interface org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.PasswordCredentialModel>
    • updateCredential

      public boolean updateCredential(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.credential.CredentialInput input)
      Specified by:
      updateCredential in interface org.keycloak.credential.CredentialInputUpdater
    • disableCredentialType

      public void disableCredentialType(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialType)
      Specified by:
      disableCredentialType in interface org.keycloak.credential.CredentialInputUpdater
    • getDisableableCredentialTypesStream

      public Stream<String> getDisableableCredentialTypesStream(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user)
      Specified by:
      getDisableableCredentialTypesStream in interface org.keycloak.credential.CredentialInputUpdater
    • isConfiguredFor

      public boolean isConfiguredFor(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, String credentialType)
      Specified by:
      isConfiguredFor in interface org.keycloak.credential.CredentialInputValidator
    • isValid

      public boolean isValid(org.keycloak.models.RealmModel realm, org.keycloak.models.UserModel user, org.keycloak.credential.CredentialInput input)
      Specified by:
      isValid in interface org.keycloak.credential.CredentialInputValidator
    • getType

      public String getType()
      Specified by:
      getType in interface org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.PasswordCredentialModel>
    • getCredentialTypeMetadata

      public org.keycloak.credential.CredentialTypeMetadata getCredentialTypeMetadata(org.keycloak.credential.CredentialTypeMetadataContext metadataContext)
      Specified by:
      getCredentialTypeMetadata in interface org.keycloak.credential.CredentialProvider<org.keycloak.models.credential.PasswordCredentialModel>