Class SAMLIdentityProvider

  • All Implemented Interfaces:
    org.keycloak.broker.provider.IdentityProvider<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.IdentityProvider

        org.keycloak.broker.provider.IdentityProvider.AuthenticationCallback
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static org.jboss.logging.Logger logger  
      • Fields inherited from class org.keycloak.broker.provider.AbstractIdentityProvider

        ACCOUNT_LINK_URL, session
      • Fields inherited from interface org.keycloak.broker.provider.IdentityProvider

        EXTERNAL_IDENTITY_PROVIDER, FEDERATED_ACCESS_TOKEN
    • Constructor Summary

      Constructors 
      Constructor Description
      SAMLIdentityProvider​(org.keycloak.models.KeycloakSession session, SAMLIdentityProviderConfig config, org.keycloak.saml.validators.DestinationValidator destinationValidator)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void authenticationFinished​(org.keycloak.sessions.AuthenticationSessionModel authSession, org.keycloak.broker.provider.BrokeredIdentityContext context)  
      void backchannelLogout​(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm)  
      protected org.keycloak.dom.saml.v2.protocol.LogoutRequestType buildLogoutRequest​(org.keycloak.models.UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String singleLogoutServiceUrl, org.keycloak.saml.SamlProtocolExtensionsAwareBuilder.NodeGenerator... extensions)  
      Object callback​(org.keycloak.models.RealmModel realm, org.keycloak.broker.provider.IdentityProvider.AuthenticationCallback callback, org.keycloak.events.EventBuilder event)  
      javax.ws.rs.core.Response export​(javax.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm, String format)  
      org.keycloak.broker.provider.IdentityProviderDataMarshaller getMarshaller()  
      org.keycloak.saml.SignatureAlgorithm getSignatureAlgorithm()  
      javax.ws.rs.core.Response keycloakInitiatedBrowserLogout​(org.keycloak.models.KeycloakSession session, org.keycloak.models.UserSessionModel userSession, javax.ws.rs.core.UriInfo uriInfo, org.keycloak.models.RealmModel realm)  
      javax.ws.rs.core.Response performLogin​(org.keycloak.broker.provider.AuthenticationRequest request)  
      javax.ws.rs.core.Response retrieveToken​(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity)  
      • Methods inherited from class org.keycloak.broker.provider.AbstractIdentityProvider

        close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, getConfig, getLinkingUrl, importNewUser, preprocessFederatedIdentity, updateBrokeredUser
    • Field Detail

      • logger

        protected static final org.jboss.logging.Logger logger
    • Constructor Detail

      • SAMLIdentityProvider

        public SAMLIdentityProvider​(org.keycloak.models.KeycloakSession session,
                                    SAMLIdentityProviderConfig config,
                                    org.keycloak.saml.validators.DestinationValidator destinationValidator)
    • Method Detail

      • callback

        public Object callback​(org.keycloak.models.RealmModel realm,
                               org.keycloak.broker.provider.IdentityProvider.AuthenticationCallback callback,
                               org.keycloak.events.EventBuilder event)
        Specified by:
        callback in interface org.keycloak.broker.provider.IdentityProvider<SAMLIdentityProviderConfig>
        Overrides:
        callback in class org.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
      • performLogin

        public javax.ws.rs.core.Response performLogin​(org.keycloak.broker.provider.AuthenticationRequest request)
        Specified by:
        performLogin in interface org.keycloak.broker.provider.IdentityProvider<SAMLIdentityProviderConfig>
        Overrides:
        performLogin in class org.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
      • authenticationFinished

        public void authenticationFinished​(org.keycloak.sessions.AuthenticationSessionModel authSession,
                                           org.keycloak.broker.provider.BrokeredIdentityContext context)
        Specified by:
        authenticationFinished in interface org.keycloak.broker.provider.IdentityProvider<SAMLIdentityProviderConfig>
        Overrides:
        authenticationFinished in class org.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
      • retrieveToken

        public javax.ws.rs.core.Response retrieveToken​(org.keycloak.models.KeycloakSession session,
                                                       org.keycloak.models.FederatedIdentityModel identity)
      • backchannelLogout

        public void backchannelLogout​(org.keycloak.models.KeycloakSession session,
                                      org.keycloak.models.UserSessionModel userSession,
                                      javax.ws.rs.core.UriInfo uriInfo,
                                      org.keycloak.models.RealmModel realm)
        Specified by:
        backchannelLogout in interface org.keycloak.broker.provider.IdentityProvider<SAMLIdentityProviderConfig>
        Overrides:
        backchannelLogout in class org.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
      • keycloakInitiatedBrowserLogout

        public javax.ws.rs.core.Response keycloakInitiatedBrowserLogout​(org.keycloak.models.KeycloakSession session,
                                                                        org.keycloak.models.UserSessionModel userSession,
                                                                        javax.ws.rs.core.UriInfo uriInfo,
                                                                        org.keycloak.models.RealmModel realm)
        Specified by:
        keycloakInitiatedBrowserLogout in interface org.keycloak.broker.provider.IdentityProvider<SAMLIdentityProviderConfig>
        Overrides:
        keycloakInitiatedBrowserLogout in class org.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
      • buildLogoutRequest

        protected org.keycloak.dom.saml.v2.protocol.LogoutRequestType buildLogoutRequest​(org.keycloak.models.UserSessionModel userSession,
                                                                                         javax.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
      • export

        public javax.ws.rs.core.Response export​(javax.ws.rs.core.UriInfo uriInfo,
                                                org.keycloak.models.RealmModel realm,
                                                String format)
        Specified by:
        export in interface org.keycloak.broker.provider.IdentityProvider<SAMLIdentityProviderConfig>
        Overrides:
        export in class org.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>
      • getSignatureAlgorithm

        public org.keycloak.saml.SignatureAlgorithm getSignatureAlgorithm()
      • getMarshaller

        public org.keycloak.broker.provider.IdentityProviderDataMarshaller getMarshaller()
        Specified by:
        getMarshaller in interface org.keycloak.broker.provider.IdentityProvider<SAMLIdentityProviderConfig>
        Overrides:
        getMarshaller in class org.keycloak.broker.provider.AbstractIdentityProvider<SAMLIdentityProviderConfig>