org.keycloak.protocol.saml.mappers

## Class SAMLAudienceProtocolMapper

- java.lang.Object
- - org.keycloak.protocol.saml.mappers.AbstractSAMLProtocolMapper
  - - org.keycloak.protocol.saml.mappers.SAMLAudienceProtocolMapper

- All Implemented Interfaces:
    ProtocolMapper, SAMLLoginResponseMapper, ConfiguredProvider, Provider, ProviderFactory<ProtocolMapper>

      public class SAMLAudienceProtocolMapper
      extends AbstractSAMLProtocolMapper
      implements SAMLLoginResponseMapper

  SAML mapper to add a audience restriction into the assertion, to another client (clientId) or to a custom URI. Only one URI is added, clientId has preference over the custom value (the class maps OIDC behavior).
  Author:
    rmartinc

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `AUDIENCE_CATEGORY`
    `static String` | `INCLUDED_CLIENT_AUDIENCE`
    `static String` | `INCLUDED_CUSTOM_AUDIENCE`
    `protected static org.jboss.logging.Logger` | `logger`
    `static String` | `PROVIDER_ID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SAMLAudienceProtocolMapper()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<ProviderConfigProperty>` | `getConfigProperties()`
    `String` | `getDisplayCategory()`
    `String` | `getDisplayType()`
    `String` | `getHelpText()`
    `String` | `getId()`
    `protected static AudienceRestrictionType` | `locateAudienceRestriction(ResponseType response)`
    `ResponseType` | `transformLoginResponse(ResponseType response, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, ClientSessionContext clientSessionCtx)`

    - ### Methods inherited from class org.keycloak.protocol.saml.mappers.AbstractSAMLProtocolMapper

      `close, create, getProtocol, init, postInit`

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from interface org.keycloak.protocol.ProtocolMapper

      `getPriority, validateConfig`

    - ### Methods inherited from interface org.keycloak.provider.ProviderFactory

      `order`

- - ### Field Detail

    - #### logger

          protected static final org.jboss.logging.Logger logger

    - #### PROVIDER_ID

          public static final String PROVIDER_ID

      See Also:
        Constant Field Values

    - #### AUDIENCE_CATEGORY

          public static final String AUDIENCE_CATEGORY

      See Also:
        Constant Field Values

    - #### INCLUDED_CLIENT_AUDIENCE

          public static final String INCLUDED_CLIENT_AUDIENCE

      See Also:
        Constant Field Values

    - #### INCLUDED_CUSTOM_AUDIENCE

          public static final String INCLUDED_CUSTOM_AUDIENCE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SAMLAudienceProtocolMapper

          public SAMLAudienceProtocolMapper()

  - ### Method Detail

    - #### getConfigProperties

          public List<ProviderConfigProperty> getConfigProperties()

      Specified by:
        `getConfigProperties` in interface `ConfiguredProvider`

    - #### getId

          public String getId()

      Specified by:
        `getId` in interface `ProviderFactory<ProtocolMapper>`

    - #### getDisplayType

          public String getDisplayType()

      Specified by:
        `getDisplayType` in interface `ProtocolMapper`

    - #### getDisplayCategory

          public String getDisplayCategory()

      Specified by:
        `getDisplayCategory` in interface `ProtocolMapper`

    - #### getHelpText

          public String getHelpText()

      Specified by:
        `getHelpText` in interface `ConfiguredProvider`

    - #### locateAudienceRestriction

          protected static AudienceRestrictionType locateAudienceRestriction(ResponseType response)

    - #### transformLoginResponse

          public ResponseType transformLoginResponse(ResponseType response,
                                                     ProtocolMapperModel mappingModel,
                                                     KeycloakSession session,
                                                     UserSessionModel userSession,
                                                     ClientSessionContext clientSessionCtx)

      Specified by:
        `transformLoginResponse` in interface `SAMLLoginResponseMapper`

Copyright © 2021 JBoss by Red Hat. All rights reserved.