An identity architect is choosing between SAML 2.0 and OpenID Connect for a new customer-facing single sign-on integration with a mix of mobile apps and traditional web applications. Which statement about the relationship between SAML, OAuth 2.0, and OpenID Connect is correct and BEST informs the choice?
- ASAML 2.0 is the modern replacement for OAuth 2.0 and OpenID Connect because it supports both authentication and authorisation in a single XML assertion suitable for native mobile clients.
- BOAuth 2.0 is an authentication protocol that issues identity tokens, and OpenID Connect is an extension that adds authorisation scopes on top of those tokens.
- CSAML, OAuth 2.0, and OpenID Connect are interchangeable wire formats for the same federation messages, and the choice is determined only by which signing algorithm the identity provider supports.
- DOpenID Connect is an identity layer built on top of OAuth 2.0 that returns a signed ID token, while SAML 2.0 is a self-contained XML-based assertion framework that predates OAuth. Correct
Why A is wrong: This inverts the timeline and the fit-for-purpose answer. SAML predates OAuth and OpenID Connect, and its XML payloads and browser-based bindings are awkward for native mobile clients, which is precisely why OpenID Connect emerged.
Why B is wrong: This reverses the protocols' purposes. OAuth 2.0 is an authorisation framework that issues access tokens for resource access, and OpenID Connect is the layer that adds authentication and an ID token. Treating OAuth as an authentication protocol is a well-known antipattern.
Why C is wrong: These protocols differ in transport bindings, token formats, intended use cases, and trust models. They are not interchangeable encodings, and reducing the choice to signing algorithms ignores fundamental architectural differences.
Why D is correct: OpenID Connect extends the OAuth 2.0 authorisation framework with an ID token (a signed JWT) and a standardised UserInfo endpoint, giving authentication semantics on top of OAuth. SAML 2.0 is an older, self-contained XML protocol that bundles authentication, attribute exchange, and protocol bindings in one specification.