Which SAML 2.0 profile lets a client with no browser complete a federated login, and what does relying on it cost?
answer
- the mainstream profile assumes a user agent
- the standard has its own non-browser answer
- the client becomes the relay
- PAOS header blocks carry it
- opt-in at both ends, rarely enabled
basics
~20 sThe Enhanced Client or Proxy profile, urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp, is SAML 2.0's answer for a client that cannot follow browser redirects; its exchange is carried in PAOS header blocks. The cost is that both sides must implement it, and many deployments do not.
solid answer
~50 sSAML 2.0's mainstream profile is Web Browser SSO, `urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser`, and its name is honest: it assumes a user agent that follows redirects and submits forms on the user's behalf. A desktop or command-line client that hosts no such agent cannot take part in it. The standard's own answer is the **Enhanced Client or Proxy** profile, `urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp`, where the client itself is *enhanced* — it knows how to reach the identity provider and relay the messages, which travel in PAOS header blocks rather than through browser navigation. The cost is the thing to say out loud in a selection review: ECP is an opt-in profile that the identity provider **and** the service provider must both implement and both agree to use, and many deployments never enabled it. So when a member organisation's estate includes non-browser clients, SAML 2.0's support for them is a per-integration negotiation, not something you can assume.
go deeper
Recall that SAML 2.0's usual profile is called Web Browser SSO and that the name is literal: it needs a user agent that follows redirects and submits forms.
Explain the split between the two profiles, name Enhanced Client or Proxy as the standard's own non-browser answer, and say that its exchange is carried in PAOS header blocks rather than by browser navigation.
Demonstrate the selection judgment: confirm with each member organisation whether ECP is implemented and enabled before promising a non-browser population, because the common answer is no.
Weigh a client population you cannot change against a standard both members already run, and decide whether to negotiate a profile across many organisations or to carry two standards instead.
## Why this is the honest comparison point When people compare federation standards, they usually compare age or file format. The comparison that actually decides selections is narrower and more useful: **what does each standard require of the thing doing the logging in?** SAML 2.0's flagship profile answers that with a browser, and everything about it follows from that assumption. This is the part candidates almost never know, and it is where a selection either survives contact with the estate or does not. ## The two profiles, named exactly | Profile | Identifier | What the client must be able to do | |---|---|---| | Web Browser SSO | `urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser` | Be, or drive, a user agent that follows navigation and submits forms | | Enhanced Client or Proxy | `urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp` | Locate the identity provider itself and relay the exchange, carried in PAOS header blocks | **Web Browser SSO** is the profile behind essentially every SAML integration you have met. The user agent is not a bystander in it: it is the transport. It carries the request to the identity provider, it carries the answer back, and it is what makes the whole thing work without the two servers ever talking directly. **Enhanced Client or Proxy** exists precisely because that assumption fails. The name says what changes: the client is *enhanced* — it takes on the job the browser was doing. Rather than being pushed around by navigation, it knows where to send the request and how to hand the answer back, and the exchange rides in **PAOS** header blocks. A *proxy* in the profile's sense is an intermediary doing that on a plain client's behalf; note this is a proxying party inside the profile, not an HTTP forward proxy and not an access broker. ## What it costs, honestly Three costs, and they compound: 1. **Both ends must implement it.** A profile only works if the identity provider offers it and the service provider consumes it. ECP is not a client-side trick you can adopt unilaterally. 2. **Both ends must enable it.** Even where the software supports it, it is commonly left off, because the deployment was built for browsers. In a federation with many member organisations, you are asking each one to turn on a path they have never operated. 3. **You own client logic forever.** The client now contains federation code — finding the identity provider, relaying messages, handling failures — that in the browser profile lived in software you did not write. ## How to use this in a standard selection The usable form of this knowledge is a criterion, not a fact. Ask of the estate: *what kinds of client will need to log in over the next five years?* Then: - **All browser-based, all the time.** SAML 2.0's browser profile is a fine answer and the incumbent usually wins. - **A material population of native, desktop, command-line or single-page clients.** SAML 2.0 can serve them only through a profile both ends must adopt, whereas the token-era standard treats those clients as its mainstream case rather than an extension. That asymmetry, not elegance, is the selection argument. - **Mixed, with the mix changing.** This is the real answer in most estates, and it is why coexistence rather than replacement is usually the plan. A fourth option exists and should be named rather than assumed away: some estates still carry **WS-Federation Version 1.2**, an OASIS Standard published in May 2009. Treat it as a third distinct standard a member may arrive speaking. ## What this leaf deliberately does not decide Two boundaries keep this answer clean: - **Message mechanics are not here.** How a request is encoded onto a particular binding, what fields it carries and how a response is correlated belong to the material on the standard's own messages. Selecting a profile is a question about capability and adoption. - **Client-platform practice is not here either.** How a native application should host a login on a given operating system is its own subject with its own recommendations. What belongs in a selection review is the narrower claim: with SAML 2.0, a non-browser client needs a profile both parties support; with the token-era standard, it does not. A compact interview answer: *SAML 2.0's browser profile assumes a user agent, ECP is the standard's own answer when there is not one, and its cost is that it is opt-in at both ends — which is why non-browser clients are usually the argument that moves an estate.*
- A member organisation says its identity provider supports SAML 2.0. What have you actually learned about your non-browser client?Almost nothing. Supporting SAML 2.0 in practice means supporting Web Browser SSO. Whether the Enhanced Client or Proxy profile is implemented, and whether it is switched on for your integration, are separate questions you have to ask explicitly — and the answer is frequently no, which is why the non-browser population belongs in the selection review rather than in the implementation phase.
- Why does this argument carry more weight than 'XML is dated'?Because it is a capability claim rather than a taste claim. 'XML is dated' does not stop anyone logging in; 'this class of client cannot complete the mainstream profile, and the alternative profile is not enabled at either end' names a population that would be locked out. Selection reviews move on the second kind of statement.
saying these in an interview costs you the question
- Says SAML 2.0 simply cannot serve a non-browser client
- Thinks the Enhanced Client or Proxy profile can be adopted by the client alone
- Calls ECP a binding rather than a profile
- Assumes any identity provider advertising SAML 2.0 has ECP enabled
- Confuses the profile's proxy with an HTTP forward proxy or an access broker