SAML
SAML is an XML-based standard for passing signed identity statements between an identity provider and an application. It commonly lets employees use one organizational sign-in to reach separate web applications without giving each application the organizational password.
itIdentity, access, and cryptography | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — SAML
SAML is the formal arrangement by which one organization says, in signed XML, that a person has authenticated, and another application decides whether to let that person in. It exists because handing every application the organizational password would be a remarkably efficient way to create several problems at once. Instead, an identity provider, or IdP, does the authentication. A service provider, or SP, runs the application and creates its own session after checking the statement.
The browser plays courier. It carries an AuthnRequest from the SP to the IdP and often carries a response back to the SP's Assertion Consumer Service, the receiving endpoint. Couriers are useful, but they are not trust authorities. The SP must check the issuer, signature, audience, destination, time conditions, subject confirmation, and, when it started the request, the response correlation. A valid signature is necessary, which is SAML's polite way of saying it is not remotely the whole story.
The vocabulary looks like a small bureaucracy because it separates jobs. An assertion says something about a subject. A protocol supplies the request and response. A binding decides how messages travel, such as HTTP Redirect or HTTP POST. A profile combines those parts for a situation such as browser single sign-on. Metadata is the shared trust map: entity IDs, endpoints, bindings, and public keys. An entity ID may look like a URL, but it is an identifier, not an invitation to open it in a browser and wait for enlightenment.
The surprising part is that authentication and authorization remain different jobs. A NameID or attribute can identify a person, yet the application still decides which local account and role that identity may receive. Stable identifiers and allowlisted attribute mappings make that decision less excitable. Certificate rollover brings the same lesson in a different hat: both parties must accept the new trust material before the old key retires.
Read the Intro for the full sign-in flow and the checks that make an assertion acceptable. Use Slides when the four layers or the failure map have blurred into a distinguished fog. Keep the Cheatsheet nearby when comparing identifiers, bindings, validation checks, and troubleshooting signals. Field Notes covers the operational costs that tend to appear after the first successful redirect, when the integration has stopped being a diagram and started being somebody's responsibility.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.oasis-open.org/standard/saml/
Supports
- SAML 2.0 standard set, approval date, scope, and component documents
- Assertions carrying authentication, attribute, and authorization information
- https://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html
Supports
- IdP, SP, principal, assertion, protocol, binding, and profile architecture
- Browser SSO message flows and federation use cases
- Distinction between SAML components and post-2.0 extensions
- https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
Supports
- Assertion, Subject, Conditions, statements, request, response, issuer, audience, and status semantics
- Time conditions and assertion identifiers
- https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf
Supports
- Web Browser SSO, bearer subject confirmation, SP-initiated and unsolicited response processing
- Request correlation, recipient, destination, and Single Logout behavior
- https://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf
Supports
- HTTP Redirect, HTTP POST, and HTTP Artifact mappings
- Binding-layer encoding and signature rules
- https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf
Supports
- Entity descriptors, roles, endpoints, bindings, and key descriptors
- Multiple keys supporting controlled signing-key transition
- https://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf
Supports
- Signature, encryption, TLS, replay, bearer assertion, confidentiality, and privacy considerations
- Need to bind security decisions to validated signed content
- https://docs.oasis-open.org/security/saml/v2.0/errata05/csd01/saml-v2.0-errata05-csd01.html
Supports
- Corrections and clarifications to SAML 2.0 core, bindings, profiles, and metadata
- https://docs.oasis-open.org/security/saml-subject-id-attr/v1.0/cs01/saml-subject-id-attr-v1.0-cs01.html
Supports
- Stable subject identifier attributes and deficiencies in persistent NameID practice
- https://github.com/kdeldycke/awesome-iam
Supports
- Discovery of Keycloak, authentik, SimpleSAMLphp, Shibboleth-related SAML resources, and SAMLTool for Awesome Links research
- SAML's placement in the wider identity and access management ecosystem
- https://www.keycloak.org/docs/latest/server_admin/
Supports
- SAML clients, SAML identity brokering, metadata, keys, mappers, and endpoint configuration
- https://docs.goauthentik.io/add-secure-apps/providers/saml
Supports
- SAML provider bindings, endpoints, metadata, certificates, and property mappings
- https://simplesamlphp.org/docs/stable/
Supports
- SimpleSAMLphp IdP and SP configuration, metadata, authentication sources, and modules
- https://shibboleth.atlassian.net/wiki/spaces/IDP5/overview
Supports
- Shibboleth IdP metadata, profiles, attributes, credentials, and relying-party configuration
- https://www.samltool.com/
Supports
- Browser-accessible SAML decoding, XML, certificate, metadata, and signature inspection utilities
- https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/add-application-portal-setup-sso
Supports
- Entra enterprise application SAML setup, entity ID, ACS URL, attributes, certificate, and testing
- https://help.okta.com/okta_help.htm?id=ext-apps-about-saml
Supports
- Okta acting as SAML IdP or SP in application integrations
- https://docs.pingidentity.com/pingfederate/latest/pingfederate_administrators_reference_guide/pf_administrators_reference_guide.html
Supports
- PingFederate IdP and SP connections, adapters, contracts, certificates, and protocol configuration
- https://www.onelogin.com/product/sso
Supports
- OneLogin managed single sign-on and SAML application integration role
- https://auth0.com/docs/authenticate/identity-providers/enterprise-identity-providers
Supports
- Auth0 enterprise identity-provider connections including SAML
- https://workos.com/docs/sso
Supports
- WorkOS connection layer for application SSO with SAML and OIDC identity providers
- Application ownership of user records and authorization outside the SSO exchange
- https://www.oasis-open.org/2002/11/05/security-assertion-markup-language-saml-ratified-as-oasis-open-standard/
Supports
- SAML 1.0 ratification in November 2002 and its original exchange scope
- https://www.oasis-open.org/2003/09/21/security-assertion-markup-language-saml-version-1-1-ratified-as-oasis-standard/
Supports
- SAML 1.1 ratification in September 2003 and incorporation of implementation experience
- https://www.oasis-open.org/2005/03/13/members-approve-security-assertion-markup-language-saml-v2-0-as-oasis-standard/
Supports
- SAML 2.0 ratification in March 2005 and added federation capabilities
- https://www.oasis-open.org/committees/security/faq.php
Supports
- Liberty ID-FF contribution as input to SAML 2.0
- https://www.oasis-open.org/standards/
Supports
- 2007 SAML metadata extensions and 2008 X.509 deployment profile approvals
- https://www.oasis-open.org/standard/saml2-0-meta-interop/
Supports
- Metadata Interoperability Profile Committee Specification approval on 4 August 2009
- https://www.oasis-open.org/standard/saml-assur-prof/
Supports
- Identity Assurance Profiles approval on 5 November 2010
- https://docs.oasis-open.org/security/saml/Post2.0/saml-ecp/v2.0/csd01/saml-ecp-v2.0-csd01.html
Supports
- Enhanced Client or Proxy Profile Version 2.0 work and 2013 approval path
- https://docs.oasis-open.org/security/saml/Post2.0/sstc-metadata-iop.html
Supports
- Metadata Interoperability Profile as an OASIS Standard on 24 October 2019
- https://www.cisco.com/c/en/us/support/docs/security/secure-access/225917-cisco-secure-access-saml-certificate.html
Supports
- Operational certificate renewal sequence: obtain updated IdP metadata or certificate, verify the change, update the SP trust configuration, and test sign-in
- A rotated IdP signing certificate requires the SP to trust the new certificate before it can continue validating assertions
