diff --git a/docs/src/docs/asciidoc/index.adoc b/docs/src/docs/asciidoc/index.adoc index e45bc82f..6b739c66 100644 --- a/docs/src/docs/asciidoc/index.adoc +++ b/docs/src/docs/asciidoc/index.adoc @@ -6,7 +6,7 @@ v{spring-authorization-server-version} :nofooter: [horizontal] -xref:overview.adoc[Overview] :: Introduction and list of supported features +xref:overview.adoc[Overview] :: Introduction and feature list xref:getting-help.adoc[Getting Help] :: Links to samples, questions and issues xref:getting-started.adoc[Getting Started] :: System requirements, dependencies and developing your first application xref:configuration-model.adoc[Configuration Model] :: Default configuration and customizing the configuration diff --git a/docs/src/docs/asciidoc/overview.adoc b/docs/src/docs/asciidoc/overview.adoc index 5f5f85e0..3304da24 100644 --- a/docs/src/docs/asciidoc/overview.adoc +++ b/docs/src/docs/asciidoc/overview.adoc @@ -16,34 +16,68 @@ It is built on top of https://spring.io/projects/spring-security[Spring Security Spring Authorization Server supports the following features: -* The OAuth 2.1 Authorization Framework (https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05[Draft]) -** Authorization Grant -*** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-4.1[Authorization Code] -*** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-4.2[Client Credentials] -*** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-4.3[Refresh Token] -** Access Token Format -*** Self-contained (JWT) -*** Reference (Opaque) -** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-2.4[Client Authentication] -*** HTTP Basic -*** HTTP POST -*** JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication (https://tools.ietf.org/html/rfc7523[RFC 7523]) -**** `private_key_jwt` -**** `client_secret_jwt` -** User Consent -*** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-4.1[Authorization Code Grant] -* Proof Key for Code Exchange by OAuth Public Clients (PKCE) (https://tools.ietf.org/html/rfc7636[RFC 7636]) -* OAuth 2.0 Token Revocation (https://tools.ietf.org/html/rfc7009[RFC 7009]) -* OAuth 2.0 Token Introspection (https://tools.ietf.org/html/rfc7662[RFC 7662]) -* OAuth 2.0 Authorization Server Metadata (https://tools.ietf.org/html/rfc8414[RFC 8414]) -* JSON Web Token (JWT) (https://tools.ietf.org/html/rfc7519[RFC 7519]) -* JSON Web Signature (JWS) (https://tools.ietf.org/html/rfc7515[RFC 7515]) -* JSON Web Key (JWK) (https://tools.ietf.org/html/rfc7517[RFC 7517]) +[cols="2a,4a,6a"] +|=== +|Category |Feature |Related specifications + +|xref:protocol-endpoints.adoc#oauth2-token-endpoint[Authorization Grant] +| +* Authorization Code +** xref:protocol-endpoints.adoc#oauth2-authorization-endpoint[User Consent] +* Client Credentials +* Refresh Token +| +* The OAuth 2.1 Authorization Framework (https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05[draft]) +** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-4.1[Authorization Code Grant] +** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-4.2[Client Credentials Grant] +** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-4.3[Refresh Token Grant] * OpenID Connect Core 1.0 (https://openid.net/specs/openid-connect-core-1_0.html[spec]) ** https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth[Authorization Code Flow] -** https://openid.net/specs/openid-connect-core-1_0.html#UserInfo[UserInfo Endpoint] + +|xref:core-model-components.adoc#oauth2-token-generator[Token Formats] +| +* Self-contained (JWT) +* Reference (Opaque) +| +* JSON Web Token (JWT) (https://tools.ietf.org/html/rfc7519[RFC 7519]) +* JSON Web Signature (JWS) (https://tools.ietf.org/html/rfc7515[RFC 7515]) + +|xref:configuration-model.adoc#configuring-client-authentication[Client Authentication] +| +* `client_secret_basic` +* `client_secret_post` +* `client_secret_jwt` +* `private_key_jwt` +* `none` (public clients) +| +* The OAuth 2.1 Authorization Framework (https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-2.4[Client Authentication]) +* JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication (https://tools.ietf.org/html/rfc7523[RFC 7523]) +* Proof Key for Code Exchange by OAuth Public Clients (PKCE) (https://tools.ietf.org/html/rfc7636[RFC 7636]) + +|xref:protocol-endpoints.adoc[Protocol Endpoints] +| +* xref:protocol-endpoints.adoc#oauth2-authorization-endpoint[OAuth2 Authorization Endpoint] +* xref:protocol-endpoints.adoc#oauth2-token-endpoint[OAuth2 Token Endpoint] +* xref:protocol-endpoints.adoc#oauth2-token-introspection-endpoint[OAuth2 Token Introspection Endpoint] +* xref:protocol-endpoints.adoc#oauth2-token-revocation-endpoint[OAuth2 Token Revocation Endpoint] +* xref:protocol-endpoints.adoc#oauth2-authorization-server-metadata-endpoint[OAuth2 Authorization Server Metadata Endpoint] +* xref:protocol-endpoints.adoc#jwk-set-endpoint[JWK Set Endpoint] +* xref:protocol-endpoints.adoc#oidc-provider-configuration-endpoint[OpenID Connect 1.0 Provider Configuration Endpoint] +* xref:protocol-endpoints.adoc#oidc-user-info-endpoint[OpenID Connect 1.0 UserInfo Endpoint] +* xref:protocol-endpoints.adoc#oidc-client-registration-endpoint[OpenID Connect 1.0 Client Registration Endpoint] +| +* The OAuth 2.1 Authorization Framework (https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05[draft]) +** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-3.1[Authorization Endpoint] +** https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-05#section-3.2[Token Endpoint] +* OAuth 2.0 Token Introspection (https://tools.ietf.org/html/rfc7662[RFC 7662]) +* OAuth 2.0 Token Revocation (https://tools.ietf.org/html/rfc7009[RFC 7009]) +* OAuth 2.0 Authorization Server Metadata (https://tools.ietf.org/html/rfc8414[RFC 8414]) +* JSON Web Key (JWK) (https://tools.ietf.org/html/rfc7517[RFC 7517]) * OpenID Connect Discovery 1.0 (https://openid.net/specs/openid-connect-discovery-1_0.html[spec]) ** https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfig[Provider Configuration Endpoint] +* OpenID Connect Core 1.0 (https://openid.net/specs/openid-connect-core-1_0.html[spec]) +** https://openid.net/specs/openid-connect-core-1_0.html#UserInfo[UserInfo Endpoint] * OpenID Connect Dynamic Client Registration 1.0 (https://openid.net/specs/openid-connect-registration-1_0.html[spec]) ** https://openid.net/specs/openid-connect-registration-1_0.html#ClientRegistration[Client Registration Endpoint] ** https://openid.net/specs/openid-connect-registration-1_0.html#ClientConfigurationEndpoint[Client Configuration Endpoint] +|===