Package org.keycloak.broker.saml
Class SAMLIdentityProvider
java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
org.keycloak.broker.saml.SAMLIdentityProvider
- All Implemented Interfaces:
org.keycloak.broker.provider.IdentityProvider<SAMLIdentityProviderConfig>,org.keycloak.broker.provider.UserAuthenticationIdentityProvider<SAMLIdentityProviderConfig>,org.keycloak.provider.Provider
public class SAMLIdentityProvider
extends org.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
- Author:
- Pedro Igor
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider
org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback -
Field Summary
FieldsFields inherited from class org.keycloak.broker.provider.AbstractIdentityProvider
ACCOUNT_LINK_URL, BROKER_REGISTERED_NEW_USER, session, UPDATE_PROFILE_EMAIL_CHANGED, UPDATE_PROFILE_USERNAME_CHANGEDFields inherited from interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider
EXTERNAL_IDENTITY_PROVIDER, FEDERATED_ACCESS_TOKEN -
Constructor Summary
ConstructorsConstructorDescriptionSAMLIdentityProvider(org.keycloak.models.KeycloakSession session, SAMLIdentityProviderConfig config, org.keycloak.saml.validators.DestinationValidator destinationValidator) -
Method Summary
Modifier and TypeMethodDescriptionvoidauthenticationFinished(org.keycloak.sessions.AuthenticationSessionModel authSession, org.keycloak.broker.provider.BrokeredIdentityContext context) voidbackchannelLogout(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm) protected org.keycloak.dom.saml.v2.protocol.ArtifactResolveTypebuildArtifactResolveRequest(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String artifactServiceUrl, String artifact, org.keycloak.saml.SamlProtocolExtensionsAwareBuilder.NodeGenerator... extensions) protected org.keycloak.dom.saml.v2.protocol.LogoutRequestTypebuildLogoutRequest(org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String singleLogoutServiceUrl, org.keycloak.saml.SamlProtocolExtensionsAwareBuilder.NodeGenerator... extensions) callback(org.keycloak.models.RealmModel realm, org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback callback, org.keycloak.events.EventBuilder event) jakarta.ws.rs.core.Responseprotected org.keycloak.dom.saml.v2.metadata.EntityDescriptorTypegetEntityDescriptor(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String format) org.keycloak.broker.provider.IdentityProviderDataMarshallerorg.keycloak.saml.SignatureAlgorithmjakarta.ws.rs.core.ResponsekeycloakInitiatedBrowserLogout(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm) jakarta.ws.rs.core.ResponseperformLogin(org.keycloak.broker.provider.AuthenticationRequest request) booleanorg.keycloak.saml.processing.core.saml.v2.common.SAMLDocumentHolderresolveArtifact(org.keycloak.models.KeycloakSession session, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String relayState, String samlArt) jakarta.ws.rs.core.ResponseretrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity) jakarta.ws.rs.core.ResponseretrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.UserModel user) booleanMethods inherited from class org.keycloak.broker.provider.AbstractIdentityProvider
buildTokenResponse, close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, getConfig, getFederatedAccessToken, getLinkingUrl, importNewUser, preprocessFederatedIdentity, setEmailVerified, updateBrokeredUser, updateEmailMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.broker.provider.IdentityProvider
isMapperSupported, isType
-
Field Details
-
logger
protected static final org.jboss.logging.Logger logger
-
-
Constructor Details
-
SAMLIdentityProvider
public SAMLIdentityProvider(org.keycloak.models.KeycloakSession session, SAMLIdentityProviderConfig config, org.keycloak.saml.validators.DestinationValidator destinationValidator)
-
-
Method Details
-
callback
public Object callback(org.keycloak.models.RealmModel realm, org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback callback, org.keycloak.events.EventBuilder event) - Specified by:
callbackin interfaceorg.keycloak.broker.provider.UserAuthenticationIdentityProvider<SAMLIdentityProviderConfig>- Overrides:
callbackin classorg.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
-
performLogin
public jakarta.ws.rs.core.Response performLogin(org.keycloak.broker.provider.AuthenticationRequest request) - Specified by:
performLoginin interfaceorg.keycloak.broker.provider.UserAuthenticationIdentityProvider<SAMLIdentityProviderConfig>- Overrides:
performLoginin classorg.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
-
authenticationFinished
public void authenticationFinished(org.keycloak.sessions.AuthenticationSessionModel authSession, org.keycloak.broker.provider.BrokeredIdentityContext context) - Specified by:
authenticationFinishedin interfaceorg.keycloak.broker.provider.UserAuthenticationIdentityProvider<SAMLIdentityProviderConfig>- Overrides:
authenticationFinishedin classorg.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
-
retrieveToken
public jakarta.ws.rs.core.Response retrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity) -
retrieveToken
public jakarta.ws.rs.core.Response retrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.UserModel user) -
backchannelLogout
public void backchannelLogout(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm) - Specified by:
backchannelLogoutin interfaceorg.keycloak.broker.provider.UserAuthenticationIdentityProvider<SAMLIdentityProviderConfig>- Overrides:
backchannelLogoutin classorg.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
-
keycloakInitiatedBrowserLogout
public jakarta.ws.rs.core.Response keycloakInitiatedBrowserLogout(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm) - Specified by:
keycloakInitiatedBrowserLogoutin interfaceorg.keycloak.broker.provider.UserAuthenticationIdentityProvider<SAMLIdentityProviderConfig>- Overrides:
keycloakInitiatedBrowserLogoutin classorg.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
-
buildLogoutRequest
protected org.keycloak.dom.saml.v2.protocol.LogoutRequestType buildLogoutRequest(org.keycloak.models.UserSessionModel userSession, jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String singleLogoutServiceUrl, org.keycloak.saml.SamlProtocolExtensionsAwareBuilder.NodeGenerator... extensions) throws org.keycloak.saml.common.exceptions.ConfigurationException - Throws:
org.keycloak.saml.common.exceptions.ConfigurationException
-
getEntityDescriptor
protected org.keycloak.dom.saml.v2.metadata.EntityDescriptorType getEntityDescriptor(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String format) -
export
public jakarta.ws.rs.core.Response export(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String format) -
getSignatureAlgorithm
public org.keycloak.saml.SignatureAlgorithm getSignatureAlgorithm() -
getMarshaller
public org.keycloak.broker.provider.IdentityProviderDataMarshaller getMarshaller()- Specified by:
getMarshallerin interfaceorg.keycloak.broker.provider.UserAuthenticationIdentityProvider<SAMLIdentityProviderConfig>- Overrides:
getMarshallerin classorg.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
-
reloadKeys
public boolean reloadKeys() -
supportsLongStateParameter
public boolean supportsLongStateParameter() -
resolveArtifact
-
buildArtifactResolveRequest
protected org.keycloak.dom.saml.v2.protocol.ArtifactResolveType buildArtifactResolveRequest(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String artifactServiceUrl, String artifact, org.keycloak.saml.SamlProtocolExtensionsAwareBuilder.NodeGenerator... extensions) throws org.keycloak.saml.common.exceptions.ConfigurationException - Throws:
org.keycloak.saml.common.exceptions.ConfigurationException
-