SSOGEN / Learn / Identity Broker

SSOGEN

Identity Broker

A broker is the one party every application trusts, so adding a provider is one change in one place instead of a change to every app.

Identity broker explained: a hub between apps and identity providers cuts trust links from nine to six for three of each
The hub and spoke arithmetic, and when to skip the hub.

An identity broker (also called a federation hub, identity hub, SAML proxy or IdP proxy) is a service that sits between your applications and several identity providers. Each app trusts the broker once. The broker sends each person to the provider that knows them, takes the answer, and tells the app who signed in.

  • To the app. The broker is the identity provider.
  • To the real identity providers. The broker is a service provider.

For the basics, start with what an identity provider is.

“Identity broker” also has a second, unrelated meaning. In AWS documentation, a custom identity broker is a program you write that mints sign-in links for the console.

This page covers the other meaning, the login hub.

One identity provider in front of every sign-in sourcePeople can sign in through Microsoft Entra ID, Okta, a directory or local accounts. SSOGEN registers once with each application and policy decides which sources an application allows. Entra ID Microsoft Okta cloud identity Active Directory or LDAP Local accounts in SSOGEN SSOGEN one identity provider for every app SAML app trusts SSOGEN OIDC app trusts SSOGEN Web Agent app no code change policy picks the sources each app allows
One identity provider in front of every sign-in source

Hub and spoke or point-to-point

Take three apps and three identity providers:

Setup Trust relationships Adding a provider
Without a broker Nine: every app connects to every provider, each with its own metadata, certificates and attribute rules Touches every app
With a broker Six: each app to the broker, and the broker to each provider One change, in one place

“Hub and spoke” is used loosely in federation. InCommon calls its federation hub and spoke for introductions.

It publishes signed metadata so participants find each other, and after that they talk directly, in a mesh.

A login broker is different: the sign-in traffic itself goes through the hub. That gives you one place to enforce rules and log, and it also creates one place that can fail.

How the broker decides which provider a person uses

This step is called home realm discovery, and most write-ups skip it. Three methods are common, and most brokers combine them.

Method How it works Example
By domain The person types an email address; the broker reads the domain and picks the provider that owns it. Entra ID reads the user principal name; SSOGEN reads the part after the @.
By link or hint The application or a bookmark names the provider in the request. Entra ID accepts domain_hint (OpenID Connect) or whr (SAML and WS-Federation).
By choice The broker shows a list or buttons and the person picks. A “Sign in with” drop-down.

Microsoft’s home realm discovery documentation covers the first two methods in detail:

  • A domain hint sends the person straight to the federated provider only if the tenant is federated with that domain.
  • A hint that does not match a verified federated domain can be ignored.
  • Only one home realm discovery policy can be active on a service principal at a time, so plan which one.
  • Microsoft advises against auto-acceleration, because it can block stronger sign-in methods such as FIDO.

The OASIS Identity Provider Discovery profile covers the case where you do not run the hub:

  1. A service provider redirects the browser to a discovery service with its entity ID and a return URL.
  2. The discovery service sends the person back with the chosen provider’s identifier.

Okta calls its version IdP Discovery. The routing logic can be defined only if the org has more than one identity provider configured.

Federated SSO through a broker

Federated SSO means a person signs in with an account held by another organization or system, and your apps accept the result. A broker makes that manageable at scale. Background is in federated identity.

The app sees the same three things, however many upstream systems exist:

  • One issuer. The broker.
  • One signing certificate. The broker’s.
  • One set of claims. Mapped by the broker.

The trade-off is operational: you run, secure and patch the hub, and every sign-in depends on it.

Claims and attribute mapping

Each upstream provider names facts about the person its own way. One sends mail, another emailaddress, another a user principal name. The broker maps them to one shape, so apps never see the differences.

  • Mappers. Keycloak documents this as identity provider mappers, which map incoming tokens and assertions to user and session attributes.
  • Stable identifier. Decide up front which attribute it is. If two providers can both issue maria.lopez@acme.example, a broker that joins accounts by email will join the wrong ones the day one provider lets people type any address.
  • First login flow. The same documentation describes the authentication flow the broker triggers the first time someone uses a given provider. This is where you decide whether to create a new account, link to an existing one, or ask the person to confirm.

Sessions and logout

A brokered sign-in has at least three sessions:

  1. The app’s.
  2. The broker’s.
  3. The upstream provider’s.

Signing out of the app usually ends only the first. Ending all three requires single logout, and every link in the chain must support it. See SAML single logout for why this is the weakest part of federation.

If the upstream provider keeps its session, the next sign-in through the broker can skip the password prompt. On shared computers, that surprises people.

Failure modes

Failure What people see What to do
Broker is down Nobody can sign in anywhere Run it highly available; keep a local administrator path.
One upstream is down Only that provider’s people are locked out Show a clear message; consider a second path for administrators.
Expired upstream certificate or secret Sign-in fails after working for a year Track expiry dates for every upstream.
Domain claimed twice People sent to the wrong provider One owner per domain; check on add.
Mismatched identifiers Duplicate accounts or access to the wrong account Pick one stable identifier and test with two providers.
Stale session Sign-out that does not sign out Test logout end to end, not just login.

When a broker helps and when it does not

A broker helps when:

  • Two companies merge and both directories must work for a while.
  • Partners need access and each has its own provider. See contractor and vendor access.
  • You have several directories and do not want every app to know about all of them.
  • You are leaving a provider gradually. Apps trust the broker, and you move people behind it one group at a time.

A broker adds little in three cases:

  • One provider. With one provider and a handful of apps, it is one more system to run.
  • Weak upstream sign-in. A broker cannot fix it; it can only restrict what the upstream states.
  • Extra hop. A broker in another region adds latency to every sign-in.

Broker options compared

Option What the vendor documents Note
Keycloak Delegates authentication to one or more identity providers; supports OpenID Connect v1.0, OAuth v2 and SAML v2.0 providers; mappers; first login flow Self-run
Microsoft Entra External ID (B2B) Partners sign in with their own credentials; the guest is represented as a user object in your directory; social and enterprise identity providers can be federated Guest user model, not a pass-through proxy
Okta Inbound federation over SAML and OpenID Connect; IdP Discovery routing; org-to-org federation over OIDC or SAML Routing needs more than one IdP
SSOGEN SAML, OpenID Connect and LDAP directory providers at once; sign-in domains route by email domain See below
InCommon Signed metadata aggregates that introduce participants A metadata hub, not a login proxy

This table’s facts come from each vendor’s own documentation, linked under Sources. Check them again before you buy.

How SSOGEN brokers sign-in

SSOGEN is a complete identity provider that also brokers other providers. You run several at once (see SSOGEN’s identity provider guide): SAML, OpenID Connect and an LDAP directory such as Active Directory, plus local accounts.

Apps trust SSOGEN once. Add a partner organization’s provider as SAML or OpenID Connect and give it its own sign-in domains, so its people land in the right place.

Home realm discovery is built in. With sign-in domains set, the sign-in page asks for an email address first and reads only the part after the @.

It does not look the account up, so the answer is the same whether or not the account exists.

  • One owner per domain. A domain belongs to one provider, and a provider can have up to 20 domains.
  • A fallback. A domain no provider claims falls back to a “Sign in with” drop-down.
  • Safe rollout. A new provider stays a draft, off the sign-in page, until you validate, test and activate it.
  • Mapping per provider. Each provider’s setup maps the upstream email and display name attributes to the SSOGEN account, and a SAML provider builds the username from the NameID, the stable identifier.

For logout, a SAML provider has an Also sign out of this provider setting. Turn it on and signing out of SSOGEN ends the session at the identity provider too.

OpenID Connect providers have the same setting, using the provider’s own sign-out address. Test sign-out end to end, as the failure table advises. See also self-hosted identity provider.

Questions people ask

What is the difference between an identity provider and an identity broker?
An identity provider holds the accounts and checks the password. An identity broker holds no password for brokered people. It forwards each person to the provider that does, then passes the result to your app. Many products do both: they hold accounts and broker other providers.
What's the difference between IdP and IAM?
An IdP authenticates a person and vouches for them to apps. IAM is the whole discipline: accounts, groups, roles, lifecycle, policies, audit and access reviews. An IdP is one part of an IAM program, usually the sign-in and SSO part.
What is an identity server?
Software that runs an identity provider. It keeps accounts, authenticates people and issues tokens or assertions to apps over protocols such as SAML and OpenID Connect. The term is informal. Keycloak, Entra ID and SSOGEN act as one, and some can also broker others.
What are examples of identity providers?
Microsoft Entra ID, Okta, Keycloak, Active Directory Federation Services and Google Workspace are common ones. So is a university’s or partner company’s own sign-in system. Any system that authenticates people and tells other systems who they are can act as an identity provider, including SSOGEN.