Class RelyingParty
java.lang.Object
swiss.trustbroker.federation.xmlconfig.CounterParty
swiss.trustbroker.federation.xmlconfig.RelyingParty
- All Implemented Interfaces:
Serializable,swiss.trustbroker.api.relyingparty.dto.RelyingPartyConfig,PathReference
public class RelyingParty
extends CounterParty
implements swiss.trustbroker.api.relyingparty.dto.RelyingPartyConfig
This class describes the configuration of a relying party (RP).
The following sources of attributes to be passed to the RP exist:
RP profiles are configuration templates for RP setups that reflect a common pattern used by multiple RPs.
Potentially breaking changes: see
The following sources of attributes to be passed to the RP exist:
- Attributes definitions (from CP)
- UserDetails definitions (from IDM)
- Properties definitions (computed by XTB or in Scripts)
RP profiles are configuration templates for RP setups that reflect a common pattern used by multiple RPs.
Potentially breaking changes: see
FeatureEnum- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classRelyingParty.RelyingPartyBuilder<C extends RelyingParty,B extends RelyingParty.RelyingPartyBuilder<C, B>> Nested classes/interfaces inherited from class swiss.trustbroker.federation.xmlconfig.CounterParty
CounterParty.CounterPartyBuilder<C extends CounterParty,B extends CounterParty.CounterPartyBuilder<C, B>> -
Constructor Summary
ConstructorsModifierConstructorDescriptionRelyingParty(String id, String unaliasedId, FeatureEnum enabled, String base, String clientName, String applicationName, String billingId, String clientExtId, AcWhitelist acWhitelist, Certificates certificates, SecurityPolicies securityPolicies, Oidc oidc, Saml saml, WsTrust wsTrust, AnnouncementRpConfig announcement, Sso sso, ClaimsProviderMappings claimsProviderMappings, SubjectNameMappings subjectNameMappings, Qoa qoa, FlowPolicies flowPolicies, AccessRequest accessRequest, AttributesSelection attributesSelection, ConstAttributes constAttributes, IdmLookup idmLookup, AttributesSelection propertiesSelection, AttributesSelection claimsSelection, ProfileSelection profileSelection, Scripts scripts, List<org.opensaml.security.credential.Credential> rpTrustCredentials, org.opensaml.security.credential.Credential rpSigner, org.opensaml.security.credential.Credential rpEncryptionTrustCredential, List<org.opensaml.security.credential.Credential> rpDecryptionCredentials) Deprecated.replaced with ClaimsSelectionprotected -
Method Summary
Modifier and TypeMethodDescriptionstatic RelyingParty.RelyingPartyBuilder<?, ?> builder()protected booleanbooleanAccessRequest configuration for this RP.Assertion consumer service URL authorized to access XTB federation services for this RP.Announcement configuration for this RP.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.getBase()Base profile.We introduce the billing field, so we can start make some trials adding it to the config.List of CPs mapped to this RP.RP side claims selection.Primary key of the IDM client identifying an access tenant.ClientName is the access tenant identifier (somewhat a short form of the relying party ID) applied to allDeprecated.replaced with ClaimsSelectiongetCpMappingForAlias(String rpAliasId) Error flow policies for this RP.getFlows()getId()IDM lookup configuration for this RP.getOidc()Profile selection configuration for this RP.Properties selection identifies the computed/derived attributes passed through to the RP.getQoa()List<org.opensaml.security.credential.Credential> org.opensaml.security.credential.Credentialorg.opensaml.security.credential.CredentialList<org.opensaml.security.credential.Credential> getSaml()swiss.trustbroker.common.saml.dto.SignatureParameters.SignatureParametersBuildergetSloIssuer(SloProtocol protocol) getSloUrl(SloProtocol protocol) getSso()SSO configuration for this RP.booleaninthashCode()static AcWhitelistinitializedAcWhitelist(RelyingParty relyingParty) booleanbooleanisSsoEnabled(boolean ssoGloballyEnabled) booleansameHrd(RelyingParty relyingParty) voidsetAccessRequest(AccessRequest accessRequest) AccessRequest configuration for this RP.voidsetAcWhitelist(AcWhitelist acWhitelist) Assertion consumer service URL authorized to access XTB federation services for this RP.voidsetAnnouncement(AnnouncementRpConfig announcement) Announcement configuration for this RP.voidsetApplicationName(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.voidsetAttributesSelection(AttributesSelection attributesSelection) RP side attribute selection.voidBase profile.voidsetBillingId(String billingId) We introduce the billing field, so we can start make some trials adding it to the config.voidsetCertificates(Certificates certificates) For verification and signing.voidsetClaimsProviderMappings(ClaimsProviderMappings claimsProviderMappings) List of CPs mapped to this RP.voidsetClaimsSelection(AttributesSelection claimsSelection) RP side claims selection.voidsetClientExtId(String clientExtId) Primary key of the IDM client identifying an access tenant.voidsetClientName(String clientName) ClientName is the access tenant identifier (somewhat a short form of the relying party ID) applied to allvoidsetConstAttributes(ConstAttributes constAttributes) Deprecated.replaced with ClaimsSelectionvoidsetEnabled(FeatureEnum enabled) voidsetFlowPolicies(FlowPolicies flowPolicies) Error flow policies for this RP.voidRP ID.voidsetIdmLookup(IdmLookup idmLookup) IDM lookup configuration for this RP.voidOIDC client configuration for this RP.voidsetProfileSelection(ProfileSelection profileSelection) Profile selection configuration for this RP.voidsetPropertiesSelection(AttributesSelection propertiesSelection) Properties selection identifies the computed/derived attributes passed through to the RP.voidQoA configurations for this RP.voidsetRpDecryptionCredentials(List<org.opensaml.security.credential.Credential> rpDecryptionCredentials) voidsetRpEncryptionTrustCredential(org.opensaml.security.credential.Credential rpEncryptionTrustCredential) voidsetRpSigner(org.opensaml.security.credential.Credential rpSigner) voidsetRpTrustCredentials(List<org.opensaml.security.credential.Credential> rpTrustCredentials) voidSAML protocol configuration for this RP.voidsetScripts(Scripts scripts) Script hooks.voidsetSecurityPolicies(SecurityPolicies securityPolicies) Global security policy overrides for this RP.voidSSO configuration for this RP.voidsetSubjectNameMappings(SubjectNameMappings subjectNameMappings) Subject Name ID mappings for this RP.voidsetUnaliasedId(String unaliasedId) voidsetWsTrust(WsTrust wsTrust) WS-Trust protocol configuration for this RP.toString()Methods inherited from class swiss.trustbroker.federation.xmlconfig.CounterParty
doSignArtifactResolve, forceAuthn, forwardRpProtocolBinding, getAllowedSignatureAlgorithms, getAttributesDefinitions, getEncryption, getOidcClients, getQoaConfig, getSamlArtifactBinding, getSamlProtocolEndpoints, getSignature, getSsoMinQoaLevel, getSubPath, getSupportedSamlBindings, getSupportedWsTrustBindings, getValidationStatus, getWsTrustIssueNotBeforeToleranceSec, getWsTrustIssueNotOnOrAfterToleranceSec, initializedValidationStatus, invalidate, invalidate, isEnabled, isOidcEnabled, isSamlEnabled, isValid, isValidInboundBinding, isValidInboundBinding, isWsTrustEnabled, requireEncryptedAssertion, requireSignedArtifactResponse, requireSignedAuthnRequest, requireSignedAuthnRequestForSsoJoin, requireSignedLogoutNotificationRequest, requireSignedLogoutRequest, requireSignedResponse, setSubPath, setValidationStatus, validateHttpHeaders, wsTrustIssueRequireSignedAssertion, wsTrustIssueRequireSignedRequest, wsTrustIssueRequireTimestamp
-
Constructor Details
-
RelyingParty
-
RelyingParty
public RelyingParty() -
RelyingParty
public RelyingParty(String id, String unaliasedId, FeatureEnum enabled, String base, String clientName, String applicationName, String billingId, String clientExtId, AcWhitelist acWhitelist, Certificates certificates, SecurityPolicies securityPolicies, Oidc oidc, Saml saml, WsTrust wsTrust, AnnouncementRpConfig announcement, Sso sso, ClaimsProviderMappings claimsProviderMappings, SubjectNameMappings subjectNameMappings, Qoa qoa, FlowPolicies flowPolicies, AccessRequest accessRequest, AttributesSelection attributesSelection, ConstAttributes constAttributes, IdmLookup idmLookup, AttributesSelection propertiesSelection, AttributesSelection claimsSelection, ProfileSelection profileSelection, Scripts scripts, List<org.opensaml.security.credential.Credential> rpTrustCredentials, org.opensaml.security.credential.Credential rpSigner, org.opensaml.security.credential.Credential rpEncryptionTrustCredential, List<org.opensaml.security.credential.Credential> rpDecryptionCredentials) Deprecated.replaced with ClaimsSelectionCreates a newRelyingPartyinstance.- Parameters:
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.
- RP IDs must be unique within the configuration of each environment
(
unaliasedId-enabled- Flag to enable/disable this RP.
Default is true.base- Base profile.
The full file name of theProfileRP_name.xml.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.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.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.clientExtId- Primary key of the IDM client identifying an access tenant.acWhitelist- Assertion consumer service URL authorized to access XTB federation services for this RP.certificates- For verification and signing. For signing the SignerKeystore declared on is (re-)used on the CP side.securityPolicies- Global security policy overrides for this RP.oidc- OIDC client configuration for this RP.saml- SAML protocol configuration for this RP.wsTrust- WS-Trust protocol configuration for this RP.announcement- Announcement configuration for this RP.sso- SSO configuration for this RP.claimsProviderMappings- List of CPs mapped to this RP.subjectNameMappings- Subject Name ID mappings for this RP.qoa- QoA configurations for this RP.flowPolicies- Error flow policies for this RP.accessRequest- AccessRequest configuration for this RP.attributesSelection- RP side attribute selection.constAttributes- Constant attributes to be added for this RP.idmLookup- IDM lookup configuration for this RP.propertiesSelection- Properties selection identifies the computed/derived attributes passed through to the RP.claimsSelection- RP side claims selection.profileSelection- Profile selection configuration for this RP.scripts- Script hooks. Only scripts related to this RP are executed.rpTrustCredentials-rpSigner-rpEncryptionTrustCredential-rpDecryptionCredentials-- Since:
- 1.12.0, 1.14.0, 1.9.0
- See Also:
-
-
Method Details
-
getId
- Specified by:
getIdin interfaceswiss.trustbroker.api.relyingparty.dto.RelyingPartyConfig- Specified by:
getIdin classCounterParty- Returns:
- ID of the counterparty
-
getEnabled
- Specified by:
getEnabledin classCounterParty- Returns:
- enabled flag from config or overridden due to validation errors
-
setEnabled
- Specified by:
setEnabledin classCounterParty- Parameters:
enabled- override enabled flag
-
getSubjectNameMappings
- Specified by:
getSubjectNameMappingsin classCounterParty- Returns:
- Subject Name ID mappings for this party.
-
getSecurityPolicies
- Specified by:
getSecurityPoliciesin classCounterParty- Returns:
- Global security policy overrides for this party.
-
getSaml
- Specified by:
getSamlin classCounterParty- Returns:
- SAML configuration
-
getOidc
- Specified by:
getOidcin classCounterParty- Returns:
- SAML configuration
-
getWsTrust
- Specified by:
getWsTrustin classCounterParty- Returns:
- WS-Trust configuration
-
getAttributesSelection
- Specified by:
getAttributesSelectionin classCounterParty- Returns:
- Selection of attributes.
-
getScripts
- Specified by:
getScriptsin classCounterParty- Returns:
- Scripts
-
getQoa
- Specified by:
getQoain classCounterParty- Returns:
- Qoa configuration
-
getCertificates
- Specified by:
getCertificatesin classCounterParty- Returns:
- Certificate
-
getSingleOidcClient
-
getRpTrustCredentials
-
getRpSigner
public org.opensaml.security.credential.Credential getRpSigner() -
getRpEncryptionTrustCredential
public org.opensaml.security.credential.Credential getRpEncryptionTrustCredential() -
isSsoEnabled
public boolean isSsoEnabled(boolean ssoGloballyEnabled) -
hasAccessRequest
public boolean hasAccessRequest() -
getSloUrl
-
getSloIssuer
-
initializedSaml
-
getSignatureParametersBuilder
public swiss.trustbroker.common.saml.dto.SignatureParameters.SignatureParametersBuilder getSignatureParametersBuilder()- Overrides:
getSignatureParametersBuilderin classCounterParty
-
isDelegateOrigin
public boolean isDelegateOrigin() -
getFlows
-
sameHrd
-
getCpMappingForAlias
-
getAllDefinitions
-
getShortType
- Specified by:
getShortTypein classCounterParty- Returns:
- type for logging etc. (RP/CP)
-
initializedAcWhitelist
-
builder
-
getUnaliasedId
-
getBase
Base profile.
The full file name of theProfileRP_name.xml. -
getClientName
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. -
getApplicationName
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.- Since:
- 1.12.0
-
getBillingId
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. -
getClientExtId
Primary key of the IDM client identifying an access tenant. -
getAcWhitelist
Assertion consumer service URL authorized to access XTB federation services for this RP. -
getAnnouncement
Announcement configuration for this RP. -
getSso
SSO configuration for this RP. -
getClaimsProviderMappings
List of CPs mapped to this RP. -
getFlowPolicies
Error flow policies for this RP. -
getAccessRequest
AccessRequest configuration for this RP. -
getConstAttributes
Deprecated.replaced with ClaimsSelectionConstant attributes to be added for this RP. -
getIdmLookup
IDM lookup configuration for this RP. -
getPropertiesSelection
Properties selection identifies the computed/derived attributes passed through to the RP. -
getClaimsSelection
RP side claims selection.- Since:
- 1.9.0
-
getProfileSelection
Profile selection configuration for this RP. -
getRpDecryptionCredentials
-
setId
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.
- RP IDs must be unique within the configuration of each environment
(
-
setUnaliasedId
-
setBase
Base profile.
The full file name of theProfileRP_name.xml. -
setClientName
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. -
setApplicationName
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.- Since:
- 1.12.0
-
setBillingId
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. -
setClientExtId
Primary key of the IDM client identifying an access tenant. -
setAcWhitelist
Assertion consumer service URL authorized to access XTB federation services for this RP. -
setCertificates
For verification and signing. For signing the SignerKeystore declared on is (re-)used on the CP side.- See Also:
-
setSecurityPolicies
Global security policy overrides for this RP. -
setOidc
OIDC client configuration for this RP. -
setSaml
SAML protocol configuration for this RP. -
setWsTrust
WS-Trust protocol configuration for this RP.- Since:
- 1.14.0
-
setAnnouncement
Announcement configuration for this RP. -
setSso
SSO configuration for this RP. -
setClaimsProviderMappings
List of CPs mapped to this RP. -
setSubjectNameMappings
Subject Name ID mappings for this RP. -
setQoa
QoA configurations for this RP. -
setFlowPolicies
Error flow policies for this RP. -
setAccessRequest
AccessRequest configuration for this RP. -
setAttributesSelection
RP side attribute selection.- See Also:
-
setConstAttributes
Deprecated.replaced with ClaimsSelectionConstant attributes to be added for this RP. -
setIdmLookup
IDM lookup configuration for this RP. -
setPropertiesSelection
Properties selection identifies the computed/derived attributes passed through to the RP. -
setClaimsSelection
RP side claims selection.- Since:
- 1.9.0
-
setProfileSelection
Profile selection configuration for this RP. -
setScripts
Script hooks. Only scripts related to this RP are executed. -
setRpTrustCredentials
public void setRpTrustCredentials(List<org.opensaml.security.credential.Credential> rpTrustCredentials) -
setRpSigner
public void setRpSigner(org.opensaml.security.credential.Credential rpSigner) -
setRpEncryptionTrustCredential
public void setRpEncryptionTrustCredential(org.opensaml.security.credential.Credential rpEncryptionTrustCredential) -
setRpDecryptionCredentials
public void setRpDecryptionCredentials(List<org.opensaml.security.credential.Credential> rpDecryptionCredentials) -
toString
- Overrides:
toStringin classCounterParty
-
equals
- Overrides:
equalsin classCounterParty
-
canEqual
- Overrides:
canEqualin classCounterParty
-
hashCode
public int hashCode()- Overrides:
hashCodein classCounterParty
-