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.
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).
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.