java.lang.Object
swiss.trustbroker.federation.xmlconfig.Sso
All Implemented Interfaces:
Serializable

public class Sso extends Object implements Serializable
XTB Single Sign On (SSO, SLO) configuration for an RP.
Note that when turned off you still use the element to declare an sloUrl/SloResponse to send LogoutResponse messages to in case LogoutRequest messages are sent to XTB.
See Also:
  • Constructor Details

    • Sso

      public Sso()
    • Sso

      public Sso(boolean enabled, String groupName, Boolean skipHrdWithSsoSession, Boolean forceIdmRefresh, FingerprintCheck fingerprintCheck, String sloUrl, Boolean logoutNotifications, Boolean serializeNotifications, List<SloResponse> sloResponse)
      Creates a new Sso instance.
      Parameters:
      enabled - Enable this configuration.
      groupName - Configure a reference to an existing SSOGroup name. The groupName is required when SSO is enabled only.
      skipHrdWithSsoSession - If an RP already is logged in with the first CP, the HRD screen can be skipped leading to the second participant automatically joining the detected SSO session for that CP.
      forceIdmRefresh - Refresh IDM data for SSO - enable e.g. if an Access Request might be performed outside XTB.
      fingerprintCheck - Device fingerprint check mode.
      sloUrl - Shortcut for
      SloResponse
      with this URL and defaults otherwise. Absolute or relative URL as for
      SloResponse
      logoutNotifications - Notify other SSO participants about the ongoing logout. The participants need to have their notification endpoints configured using SloResponse elements.
      Potentially breaking changes:
      • Since 1.12.0 the default was changed from false to true if there SloResponse notifications are configured.
      serializeNotifications - Serialize logout notifications in the order of the SloResponse elements.
      By default, they are fired in parallel.
      sloResponse -
      Since:
      1.14.0
      See Also:
  • Method Details

    • logoutNotificationsEnabled

      public boolean logoutNotificationsEnabled()
    • serializeNotifications

      public boolean serializeNotifications()
    • skipHrdWithSsoSession

      public boolean skipHrdWithSsoSession()
    • builder

      public static Sso.SsoBuilder builder()
    • isEnabled

      public boolean isEnabled()
      Enable this configuration.
    • getGroupName

      public String getGroupName()
      Configure a reference to an existing SSOGroup name. The groupName is required when SSO is enabled only.
      See Also:
    • getSkipHrdWithSsoSession

      public Boolean getSkipHrdWithSsoSession()
      If an RP already is logged in with the first CP, the HRD screen can be skipped leading to the second participant automatically joining the detected SSO session for that CP.
    • getForceIdmRefresh

      public Boolean getForceIdmRefresh()
      Refresh IDM data for SSO - enable e.g. if an Access Request might be performed outside XTB.
    • getFingerprintCheck

      public FingerprintCheck getFingerprintCheck()
      Device fingerprint check mode.
    • getSloUrl

      public String getSloUrl()
      Shortcut for
      SloResponse
      with this URL and defaults otherwise. Absolute or relative URL as for
      SloResponse
      See Also:
    • getLogoutNotifications

      public Boolean getLogoutNotifications()
      Notify other SSO participants about the ongoing logout. The participants need to have their notification endpoints configured using SloResponse elements.
      Potentially breaking changes:
      • Since 1.12.0 the default was changed from false to true if there SloResponse notifications are configured.
    • getSerializeNotifications

      public Boolean getSerializeNotifications()
      Serialize logout notifications in the order of the SloResponse elements.
      By default, they are fired in parallel.
      Since:
      1.14.0
    • getSloResponse

      public List<SloResponse> getSloResponse()
    • setEnabled

      public void setEnabled(boolean enabled)
      Enable this configuration.
    • setGroupName

      public void setGroupName(String groupName)
      Configure a reference to an existing SSOGroup name. The groupName is required when SSO is enabled only.
      See Also:
    • setSkipHrdWithSsoSession

      public void setSkipHrdWithSsoSession(Boolean skipHrdWithSsoSession)
      If an RP already is logged in with the first CP, the HRD screen can be skipped leading to the second participant automatically joining the detected SSO session for that CP.
    • setForceIdmRefresh

      public void setForceIdmRefresh(Boolean forceIdmRefresh)
      Refresh IDM data for SSO - enable e.g. if an Access Request might be performed outside XTB.
    • setFingerprintCheck

      public void setFingerprintCheck(FingerprintCheck fingerprintCheck)
      Device fingerprint check mode.
    • setSloUrl

      public void setSloUrl(String sloUrl)
      Shortcut for
      SloResponse
      with this URL and defaults otherwise. Absolute or relative URL as for
      SloResponse
      See Also:
    • setLogoutNotifications

      public void setLogoutNotifications(Boolean logoutNotifications)
      Notify other SSO participants about the ongoing logout. The participants need to have their notification endpoints configured using SloResponse elements.
      Potentially breaking changes:
      • Since 1.12.0 the default was changed from false to true if there SloResponse notifications are configured.
    • setSerializeNotifications

      public void setSerializeNotifications(Boolean serializeNotifications)
      Serialize logout notifications in the order of the SloResponse elements.
      By default, they are fired in parallel.
      Since:
      1.14.0
    • setSloResponse

      public void setSloResponse(List<SloResponse> sloResponse)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object