Class OID4VPSdJwtUserSessionAttributeMapper
java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProviderMapper
org.keycloak.broker.oid4vp.mappers.AbstractOID4VPClaimMapper
org.keycloak.broker.oid4vp.mappers.OID4VPSdJwtUserSessionAttributeMapper
- All Implemented Interfaces:
IdentityProviderMapper,ConfiguredProvider,EnvironmentDependentProviderFactory,Provider,ProviderFactory<IdentityProviderMapper>
Imports a claim of the presented SD JWT credential into a user session attribute, so it can be
surfaced in tokens through the user session note protocol mappers. Session notes hold one string
value: multivalued selections are joined with a comma and object values are stored as their JSON
representation.
-
Field Summary
FieldsFields inherited from class org.keycloak.broker.oid4vp.mappers.AbstractOID4VPClaimMapper
CLAIM, loggerFields inherited from interface org.keycloak.broker.provider.IdentityProviderMapper
ANY_PROVIDER, DEFAULT_IDENTITY_PROVIDER_MAPPER_SYNC_MODES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidapplySessionNote(IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) getId()voidimportNewUser(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) Called after UserModel is created for first time for this user.voidpreprocessFederatedIdentity(KeycloakSession session, RealmModel realm, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) The note is per login state, so it is also set during preprocessing, which runs for every login.voidupdateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) Called when this user has logged in before and has already been imported.Methods inherited from class org.keycloak.broker.oid4vp.mappers.AbstractOID4VPClaimMapper
claimProperty, claimValues, credentialClaims, getCompatibleProviders, isSupported, supportsSyncMode, valueMethods inherited from class org.keycloak.broker.provider.AbstractIdentityProviderMapper
close, create, dependsOn, init, postInit, updateBrokeredUserLegacyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfigMethods inherited from interface org.keycloak.provider.ProviderFactory
getConfigMetadata, order
-
Field Details
-
PROVIDER_ID
- See Also:
-
ATTRIBUTE
- See Also:
-
-
Constructor Details
-
OID4VPSdJwtUserSessionAttributeMapper
public OID4VPSdJwtUserSessionAttributeMapper()
-
-
Method Details
-
getId
-
getConfigProperties
-
getDisplayCategory
-
getDisplayType
-
getHelpText
-
preprocessFederatedIdentity
public void preprocessFederatedIdentity(KeycloakSession session, RealmModel realm, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) The note is per login state, so it is also set during preprocessing, which runs for every login. The user centric hooks below never run for an existing user whose effective sync mode is IMPORT.- Specified by:
preprocessFederatedIdentityin interfaceIdentityProviderMapper- Overrides:
preprocessFederatedIdentityin classAbstractIdentityProviderMapper
-
importNewUser
public void importNewUser(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) Description copied from interface:IdentityProviderMapperCalled after UserModel is created for first time for this user. Called after "FirstBrokerLogin" flow- Specified by:
importNewUserin interfaceIdentityProviderMapper- Overrides:
importNewUserin classAbstractIdentityProviderMapper
-
updateBrokeredUser
public void updateBrokeredUser(KeycloakSession session, RealmModel realm, UserModel user, IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context) Description copied from interface:IdentityProviderMapperCalled when this user has logged in before and has already been imported.- Specified by:
updateBrokeredUserin interfaceIdentityProviderMapper- Overrides:
updateBrokeredUserin classAbstractIdentityProviderMapper
-
applySessionNote
protected void applySessionNote(IdentityProviderMapperModel mapperModel, BrokeredIdentityContext context)
-