Skip to main content

OAuth & OpenID Connect

ThunderID implements OAuth 2.1, OpenID Connect Core 1.0, and a curated set of modern security extensions. Each page below explains a single protocol or feature: what it is, how it works, how ThunderID implements it, and how to enable it on your client.

For other identity standards, see the Protocols & Standards overview.

Clients in ThunderID​

An OAuth client in ThunderID is either a registered application (a user-facing app or a backend service) or an agent (an autonomous or AI service identity). Both are first-class OAuth clients: they share the same /oauth2/token endpoint, the same client authentication methods, the same grant handlers, and the same security extensions (PKCE, PAR, DPoP, Resource Indicators).

Grant Types​

How clients obtain access tokens, ID tokens, and refresh tokens from ThunderID.

ProtocolSpecSummary
Authorization CodeRFC 6749 §4.1Redirect-based flow for user-facing applications. PKCE is required for public clients.
Client CredentialsRFC 6749 §4.4Machine-to-machine flow for backend services. No user is involved.
Refresh TokenRFC 6749 §6Exchange a refresh token for a new access token without re-authenticating the user.
Token ExchangeRFC 8693Exchange one token for another to delegate, impersonate, or downscope.
Identity Assertion Grantdraft-ietf-oauth-identity-assertion-authz-grantIssue or accept cross-domain identity assertions (ID-JAG) so a user signed in at one provider can obtain tokens from another.
Backchannel Authentication (CIBA)CIBA Core 1.0Decoupled flow where a client triggers user authentication on a separate device, without a browser redirect.

Client Authentication​

How a registered client proves its identity to ThunderID.

ProtocolSpecSummary
Client Authentication MethodsRFC 6749 §2.3 · RFC 7523The four supported methods: client_secret_basic, client_secret_post, private_key_jwt, and none.

Security Extensions​

Protections layered on top of the core flows.

ProtocolSpecSummary
PKCERFC 7636Protects authorization codes against interception. Required for public clients.
Pushed Authorization RequestsRFC 9126Send authorization parameters to ThunderID over a back-channel before the redirect.
DPoP: Sender-Constrained TokensRFC 9449Bind access and refresh tokens to a client-held key.
Issuer IdentificationRFC 9207Include iss in the authorization response to prevent mix-up attacks.
Resource IndicatorsRFC 8707Target an access token to a specific resource server via the resource parameter.

Token Operations​

Endpoints for inspecting and managing tokens.

ProtocolSpecSummary
Token IntrospectionRFC 7662Ask ThunderID whether a token is active and what it carries.

Discovery & Registration​

How clients and resource servers find ThunderID and register with it.

ProtocolSpecSummary
Server MetadataRFC 8414 · OIDC Discovery 1.0The .well-known documents that advertise endpoints and supported features.
JWKSRFC 7517Public-key endpoint used to verify ThunderID-issued JWTs.
Dynamic Client RegistrationRFC 7591Register a client programmatically over HTTP.

OpenID Connect​

The identity layer on top of OAuth 2.1.

ProtocolSpecSummary
OpenID ConnectOIDC Core 1.0ID tokens, the openid scope, and authentication context parameters (nonce, prompt, acr_values).
RP-Initiated LogoutOIDC RP-Initiated Logout 1.0The end_session_endpoint that terminates the user's SSO session and returns the browser to your application.
UserInfoOIDC Core 1.0 §5.3Endpoint that returns claims about the authenticated user.
Claims & ScopesOIDC Core 1.0 §5Standard OIDC scopes, custom scope-to-claim mapping, and the claims parameter.
Token FormatsRFC 7515 · RFC 7516ID Token and UserInfo response formats: JWS, JWE, and NESTED_JWT.

Explore with AI

ThunderID LogoThunderID Logo

Product

DocsAPIsSDKs
© Copyright Linux Foundation Europe.For web site terms of use, trademark policy and other project policies please see https://linuxfoundation.eu/en/policies.