Class RelyingParty.RelyingPartyBuilder<C extends RelyingParty,B extends RelyingParty.RelyingPartyBuilder<C,B>>

java.lang.Object
swiss.trustbroker.federation.xmlconfig.CounterParty.CounterPartyBuilder<C,B>
swiss.trustbroker.federation.xmlconfig.RelyingParty.RelyingPartyBuilder<C,B>
Enclosing class:
RelyingParty

public abstract static class RelyingParty.RelyingPartyBuilder<C extends RelyingParty,B extends RelyingParty.RelyingPartyBuilder<C,B>> extends CounterParty.CounterPartyBuilder<C,B>
  • Constructor Details

    • RelyingPartyBuilder

      public RelyingPartyBuilder()
  • Method Details

    • id

      public B id(String id)
      RP ID.
      Notes:
      • RP IDs must be unique within the configuration of each environment (trustbroker-inventories/environment)
      • RP IDs may overlap with CP IDs.
      • For SAML this ID is also used by the actual RP.
      • For OIDC this just an internal ID.
      Returns:
      this.
    • unaliasedId

      public B unaliasedId(String unaliasedId)
      Returns:
      this.
    • enabled

      public B enabled(FeatureEnum enabled)
      Flag to enable/disable this RP.
      Default is true.
      Returns:
      this.
    • base

      public B base(String base)
      Base profile.
      The full file name of the ProfileRP_name.xml.
      Returns:
      this.
    • clientName

      public B clientName(String clientName)
      ClientName is the access tenant identifier (somewhat a short form of the relying party ID) applied to all
      %clientname%
      placeholders in the configuration, specifically the attributes as listed above.
      Returns:
      this.
    • applicationName

      public B applicationName(String applicationName)
      If the SAML ProviderName or OIDC client_id are wrong or missing, a relying party can be configured with a global ApplicationName used for AccessRequest ProfileSelection or AnnouncementService to select the matching data items.
      Returns:
      this.
      Since:
      1.12.0
    • billingId

      public B billingId(String billingId)
      We introduce the billing field, so we can start make some trials adding it to the config. We might need to move it to the access request application section later if RP-ID is not 1:1 related to billingId. The value is currently only used in the XTB auditing.
      Returns:
      this.
    • clientExtId

      public B clientExtId(String clientExtId)
      Primary key of the IDM client identifying an access tenant.
      Returns:
      this.
    • acWhitelist

      public B acWhitelist(AcWhitelist acWhitelist)
      Assertion consumer service URL authorized to access XTB federation services for this RP.
      Returns:
      this.
    • certificates

      public B certificates(Certificates certificates)
      For verification and signing. For signing the SignerKeystore declared on is (re-)used on the CP side.
      Returns:
      this.
      See Also:
    • securityPolicies

      public B securityPolicies(SecurityPolicies securityPolicies)
      Global security policy overrides for this RP.
      Returns:
      this.
    • oidc

      public B oidc(Oidc oidc)
      OIDC client configuration for this RP.
      Returns:
      this.
    • saml

      public B saml(Saml saml)
      SAML protocol configuration for this RP.
      Returns:
      this.
    • wsTrust

      public B wsTrust(WsTrust wsTrust)
      WS-Trust protocol configuration for this RP.
      Returns:
      this.
      Since:
      1.14.0
    • announcement

      public B announcement(AnnouncementRpConfig announcement)
      Announcement configuration for this RP.
      Returns:
      this.
    • sso

      public B sso(Sso sso)
      SSO configuration for this RP.
      Returns:
      this.
    • claimsProviderMappings

      public B claimsProviderMappings(ClaimsProviderMappings claimsProviderMappings)
      List of CPs mapped to this RP.
      Returns:
      this.
    • subjectNameMappings

      public B subjectNameMappings(SubjectNameMappings subjectNameMappings)
      Subject Name ID mappings for this RP.
      Returns:
      this.
    • qoa

      public B qoa(Qoa qoa)
      QoA configurations for this RP.
      Returns:
      this.
    • flowPolicies

      public B flowPolicies(FlowPolicies flowPolicies)
      Error flow policies for this RP.
      Returns:
      this.
    • accessRequest

      public B accessRequest(AccessRequest accessRequest)
      AccessRequest configuration for this RP.
      Returns:
      this.
    • attributesSelection

      public B attributesSelection(AttributesSelection attributesSelection)
      RP side attribute selection.
      Returns:
      this.
      See Also:
    • constAttributes

      @Deprecated public B constAttributes(ConstAttributes constAttributes)
      Deprecated.
      replaced with ClaimsSelection
      Constant attributes to be added for this RP.
      Returns:
      this.
    • idmLookup

      public B idmLookup(IdmLookup idmLookup)
      IDM lookup configuration for this RP.
      Returns:
      this.
    • propertiesSelection

      public B propertiesSelection(AttributesSelection propertiesSelection)
      Properties selection identifies the computed/derived attributes passed through to the RP.
      Returns:
      this.
    • claimsSelection

      public B claimsSelection(AttributesSelection claimsSelection)
      RP side claims selection.
      Returns:
      this.
      Since:
      1.9.0
    • profileSelection

      public B profileSelection(ProfileSelection profileSelection)
      Profile selection configuration for this RP.
      Returns:
      this.
    • scripts

      public B scripts(Scripts scripts)
      Script hooks. Only scripts related to this RP are executed.
      Returns:
      this.
    • rpTrustCredentials

      public B rpTrustCredentials(List<org.opensaml.security.credential.Credential> rpTrustCredentials)
      Returns:
      this.
    • rpSigner

      public B rpSigner(org.opensaml.security.credential.Credential rpSigner)
      Returns:
      this.
    • rpEncryptionTrustCredential

      public B rpEncryptionTrustCredential(org.opensaml.security.credential.Credential rpEncryptionTrustCredential)
      Returns:
      this.
    • rpDecryptionCredentials

      public B rpDecryptionCredentials(List<org.opensaml.security.credential.Credential> rpDecryptionCredentials)
      Returns:
      this.
    • self

      protected abstract B self()
      Specified by:
      self in class CounterParty.CounterPartyBuilder<C extends RelyingParty,B extends RelyingParty.RelyingPartyBuilder<C,B>>
    • build

      public abstract C build()
      Specified by:
      build in class CounterParty.CounterPartyBuilder<C extends RelyingParty,B extends RelyingParty.RelyingPartyBuilder<C,B>>
    • toString

      public String toString()
      Overrides:
      toString in class CounterParty.CounterPartyBuilder<C extends RelyingParty,B extends RelyingParty.RelyingPartyBuilder<C,B>>