Skip to content

OAuth 2.1 & OpenID Compatibility Matrix

This document provides an overview of SympAuthy's compatibility with the OAuth 2.1 specification (draft-ietf-oauth-v2-1) and OpenID Connect. OAuth 2.1 consolidates OAuth 2.0 (RFC 6749) and its security best practices into a single specification. Items marked Planned are not yet enforced but will be in a future release.

Grant Types

Grant TypeStatusReference
Authorization Code GrantSupporteddraft-ietf-oauth-v2-1 - section 4.1
Implicit GrantNot SupportedRemoved in draft-ietf-oauth-v2-1 (was RFC 6749 - 4.2)
Resource Owner Password Credentials GrantNot SupportedRemoved in draft-ietf-oauth-v2-1 (was RFC 6749 - 4.3)
Client Credentials GrantSupporteddraft-ietf-oauth-v2-1 - section 4.2
Refresh Token GrantSupporteddraft-ietf-oauth-v2-1 - section 4.3

The Implicit Grant and Resource Owner Password Credentials grant have been removed from OAuth 2.1. The Implicit Grant exposes tokens in the browser URL. The ROPC grant exposes user credentials directly to the client, bypassing the delegated authorization model that OAuth was designed to provide, and offers no support for multi-factor authentication.

Token Types

Token TypeStatusReference
Access TokenSupporteddraft-ietf-oauth-v2-1 - section 1.4
Refresh TokenSupporteddraft-ietf-oauth-v2-1 - section 1.5
ID Token (JWT)SupportedOpenID Connect Core 1.0
Refresh Token Rotation (Public Clients)Supporteddraft-ietf-oauth-v2-1 - section 6.1
JWT Profile for Access TokensSupportedRFC 9068
Sender-constrained Tokens (DPoP)SupportedRFC 9449
Sender-constrained Tokens (mTLS)Not SupportedRFC 8705
Bearer Tokens in Query StringsNot Supporteddraft-ietf-oauth-v2-1 - section 5.1

SympAuthy supports sender-constrained tokens via DPoP (RFC 9449). When a client sends a valid DPoP proof, the issued access token is bound to the client's key pair and returned with token_type: "DPoP". See the Security documentation for details.

Client Authentication Methods

MethodStatusReference
Client Secret BasicSupporteddraft-ietf-oauth-v2-1 - section 2.4.1
Client Secret PostSupporteddraft-ietf-oauth-v2-1 - section 2.4.1
Client Secret JWTNot SupportedRFC 7523
Private Key JWTNot SupportedRFC 7523
None (Public Clients)Supporteddraft-ietf-oauth-v2-1

Authorization Flow Security

FeatureStatusReference
PKCE (S256)RequiredRFC 7636
PKCE Plain MethodNot SupportedRFC 7636
State ParameterRequireddraft-ietf-oauth-v2-1 - section 7.5.1
Nonce ParameterSupportedOpenID Connect Core
Authorization Code One-Time UseEnforceddraft-ietf-oauth-v2-1 - section 4.1.2
HTTP 307 Redirect ProhibitionEnforceddraft-ietf-oauth-v2-1 - section 7.5.3
DPoP Nonce & Replay DetectionPlannedRFC 9449 - section 8
Exact Redirect URI MatchingEnforceddraft-ietf-oauth-v2-1 - section 7.5.3

The plain challenge method will not be implemented. RFC 7636 section 7.2 identifies it as vulnerable to interception and recommends S256 for all deployments.

OAuth 2.1 requires PKCE for all clients using the authorization code flow. SympAuthy enforces this for both public and confidential clients. See the Security documentation for details.

OpenID Connect

Features

FeatureStatusReference
OpenID Connect DiscoverySupportedOpenID Connect Discovery 1.0
ID TokenSupportedOpenID Connect Core 1.0
Dynamic Client RegistrationNot SupportedRFC 7591

Scopes

ScopeStatusDescription
openidSupportedRequired for OpenID Connect flows
profileSupportedUser profile claims
emailSupportedUser email claims
addressSupportedUser address claims
phoneSupportedUser phone claims
Custom ScopesNot SupportedApplication-specific scopes

Endpoints

OAuth 2.1 Endpoints

EndpointStatusPathReference
Authorization EndpointSupported/api/oauth2/authorizedraft-ietf-oauth-v2-1 - section 3.1
Token EndpointSupported/api/oauth2/tokendraft-ietf-oauth-v2-1 - section 3.2
Token RevocationSupported/api/oauth2/revokeRFC 7009
Token IntrospectionSupported/api/oauth2/introspectRFC 7662

OpenID Connect Endpoints

EndpointStatusPathReference
OpenID Provider ConfigurationSupported.well-known/openid-configurationOpenID Connect Discovery 1.0
UserInfo EndpointSupported/api/openid/userinfoOpenID Connect Core 1.0 - section 5.3

Legend

  • Supported: Feature is implemented and available
  • Supported (>= version): Feature is implemented and available since a specific version
  • Not Supported: Feature is not implemented and not planned
  • Planned: Feature is not yet implemented but will be in a future release
  • Required: Feature must be used by clients
  • Enforced: Feature is enforced by the server

For more information about OAuth specifications, visit: