SSO Identifier (SSO ID)
An SSO identifier, or SSO ID, is the value an identity provider sends to an application to say which user just signed in: the NameID in a SAML assertion or the sub (subject) claim in an OIDC ID token. The application uses it to find or create the matching local account. (Some vendors also use "SSO ID" for an organization's SSO connection or tenant ID; this entry covers the user identifier.)
The two standards define it differently:
SAML 2.0 NameID |
OIDC sub |
|
|---|---|---|
| Defined in | SAML Core, section 8.3 | OpenID Connect Core 1.0, section 2 |
| Stable format | persistent: an opaque, pair-wise pseudonym per IdP and SP, up to 256 characters |
"locally unique and never reassigned identifier within the Issuer", up to 255 ASCII characters, case-sensitive |
| Unique together with | NameQualifier (the IdP) |
iss (the issuer) |
| Common shortcut | emailAddress or unspecified format |
Using the email claim instead of sub |
The shortcut is where integrations break. OIDC Core section 5.7 says sub and iss together "are the only Claims that an RP can rely upon as a stable identifier", and that claims such as email, phone_number and preferred_username "MUST NOT be used as unique identifiers", because an issuer can reassign an email to a different person and a user's email can change. Keying accounts on email causes duplicate accounts after a name change, and in multi-tenant apps it can let one tenant's user sign in as another's.
The practical rule: store the issuer and subject pair as the account key, treat email as a mutable attribute, and use SCIM or a just-in-time update to keep attributes current.
See also: SSO, claims, SAML 2.0, OpenID Connect, cross-tenant token confusion, implementing SSO
Related on Start with Identity
- GlossaryIdentity Federation
Identity federation is a trust arrangement in which one party, the [identity provider](/glossary/identity-provider/), authenticates a user and another party, th
- CVEFortiCloud SSO SAML bypass on FortiOS, FortiProxy, FortiSwitchManager
A crafted SAML message bypasses FortiCloud SSO (CWE-347). Arctic Wolf saw malicious logins three days after disclosure. CISA added it to KEV on 16 December 2025
- CVEFortiWeb FortiCloud SSO SAML bypass
The FortiWeb twin of CVE-2025-59718. A crafted SAML message bypasses FortiCloud SSO on FortiWeb. Same CWE-347 class, same December 2025 window, same 'patch or d
- BlogGitLab patches a SAML-to-LDAP account takeover and OIDC discovery cache poisoning
GitLab's October 21 critical patch release fixes CVE-2026-15723, which let a signed-in user take over an LDAP-backed account when OmniAuth SAML and LDAP auto-li
- GlossaryJWKS
JSON Web Key Set. A published set of public keys an issuer uses to sign tokens, letting relying parties verify JWT signatures and handle key rotation. The JWKS
- GlossaryAuthorization Code Flow
The recommended OAuth 2.0 flow for apps with a user: the app receives a short-lived code, then exchanges it for tokens from a back channel. Combined with PKCE f