Security10 min

SSO with SAML 2.0 in Financial Services: Enterprise Implementation

By · founder and CEO of Hábil ·

Credential fragmentation is a security risk in financial services that SSO with SAML 2.0 helps reduce — but correct implementation has more nuances than tutorials show.

The financial sector has a structural identity problem: dozens of portals, internal platforms, partner applications and cloud services, each with its own authentication system. Credential sprawl encourages reuse and weak recovery flows; SSO shrinks that surface, but on its own it does not eliminate phishing or session hijacking: it goes together with MFA and session controls.

SAML 2.0 and OpenID Connect: when each one fits

OAuth 2.0 delegates authorization; OpenID Connect adds authentication. SAML 2.0 and OIDC are both current: SAML is still common in enterprise suites and existing B2B federation; OIDC is usually preferable for modern web and mobile applications and APIs. SAML 2.0 was designed for identity federation between organizations, with XML assertions signed with X.509 certificates and complex user attributes, and it keeps a relevant presence in enterprise environments; the choice depends on compatibility, integration pattern, threat model and operations.

In cores and legacy platforms, federation usually requires a portal, gateway or intermediate layer; the supported flow, the session and the available attributes are validated per product and version. Both can require integration components; the impact is measured in the specific architecture.

Architecture of a real implementation

On Intelyvale's voucher portal, its corporate clients sign in with their own company account: we federated their identity provider and kept that access separate from the local sign-in.

The problems no one mentions

The technical implementation of SAML is relatively straightforward with mature libraries. The real problems appear in production: certificate rotation (if the IdP rotates its certificate without notifying the SPs, users are locked out; with metadata, rotation is automated), inconsistent attributes (different SPs expect the same attribute with different names), mapping roles from the client's directory to the system's roles, provisioning users on first sign-in, and sign-out across hybrid ecosystems.

Assertions depend on time conditions (NotBefore / NotOnOrAfter); the tolerance is set explicitly, as tight as operations allow, with monitored clock synchronization.

The service provider strictly validates signature and chain of trust, issuer, audience, destination, validity window, correspondence with the request and single use of the assertion, and it is protected against replay and XML signature wrapping. Accepting a “signed” assertion is not enough.