Class SsoGroup

java.lang.Object
swiss.trustbroker.federation.xmlconfig.SsoGroup

public class SsoGroup extends Object
SSO groups are defined per CP as the XTB Single Sign On (SSO, SLO) mechanism separates SSO logins per identity. The SSO group names are referenced by RPs.
  • Constructor Details

    • SsoGroup

      public SsoGroup()
    • SsoGroup

      public SsoGroup(String name, int maxIdleTimeMinutes, int maxSessionTimeMinutes, int maxCachingTimeMinutes, String sessionCookieSameSite)
      Creates a new SsoGroup instance.
      Parameters:
      name - Mandatory group name. It's recommended to use a consistent naming scheme, e.g.:
      SSO-CUSTOMERGROUP-CPNAME
      maxIdleTimeMinutes - Time in minutes without any XTB SSO interaction leading to session removal.
      maxSessionTimeMinutes - Time in minutes an SSO session exists at most (even though there was interaction where the idle timeout did not expire yet).
      maxCachingTimeMinutes - Time in minutes an RP can access XTB reusing the currently active SSO session without the need to interact with the CP again on an established SSO session, except when the SAML
      AuthnRequest forceAuth="true"
      flag signals an interaction.
      sessionCookieSameSite - Controls the SSO session cookie
      sameSite
      flag: None, Strict, Dynamic. Dynamic: Choose None or Strict based on whether the involved URLs are same site or not. (A value of Lax while valid has no benefits over Strict and is too restrictive for cross-domain use.)
      Default: Dynamic
  • Method Details

    • builder

      public static SsoGroup.SsoGroupBuilder builder()
    • getName

      public String getName()
      Mandatory group name. It's recommended to use a consistent naming scheme, e.g.:
      SSO-CUSTOMERGROUP-CPNAME
    • getMaxIdleTimeMinutes

      public int getMaxIdleTimeMinutes()
      Time in minutes without any XTB SSO interaction leading to session removal.
    • getMaxSessionTimeMinutes

      public int getMaxSessionTimeMinutes()
      Time in minutes an SSO session exists at most (even though there was interaction where the idle timeout did not expire yet).
    • getMaxCachingTimeMinutes

      public int getMaxCachingTimeMinutes()
      Time in minutes an RP can access XTB reusing the currently active SSO session without the need to interact with the CP again on an established SSO session, except when the SAML
      AuthnRequest forceAuth="true"
      flag signals an interaction.
    • getSessionCookieSameSite

      public String getSessionCookieSameSite()
      Controls the SSO session cookie
      sameSite
      flag: None, Strict, Dynamic. Dynamic: Choose None or Strict based on whether the involved URLs are same site or not. (A value of Lax while valid has no benefits over Strict and is too restrictive for cross-domain use.)
      Default: Dynamic
    • setName

      public void setName(String name)
      Mandatory group name. It's recommended to use a consistent naming scheme, e.g.:
      SSO-CUSTOMERGROUP-CPNAME
    • setMaxIdleTimeMinutes

      public void setMaxIdleTimeMinutes(int maxIdleTimeMinutes)
      Time in minutes without any XTB SSO interaction leading to session removal.
    • setMaxSessionTimeMinutes

      public void setMaxSessionTimeMinutes(int maxSessionTimeMinutes)
      Time in minutes an SSO session exists at most (even though there was interaction where the idle timeout did not expire yet).
    • setMaxCachingTimeMinutes

      public void setMaxCachingTimeMinutes(int maxCachingTimeMinutes)
      Time in minutes an RP can access XTB reusing the currently active SSO session without the need to interact with the CP again on an established SSO session, except when the SAML
      AuthnRequest forceAuth="true"
      flag signals an interaction.
    • setSessionCookieSameSite

      public void setSessionCookieSameSite(String sessionCookieSameSite)
      Controls the SSO session cookie
      sameSite
      flag: None, Strict, Dynamic. Dynamic: Choose None or Strict based on whether the involved URLs are same site or not. (A value of Lax while valid has no benefits over Strict and is too restrictive for cross-domain use.)
      Default: Dynamic
    • 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