diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..074ab5264 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,2 @@ +package-lock.json +node_modules \ No newline at end of file diff --git a/docs/antora.yml b/docs/antora.yml new file mode 100644 index 000000000..759aac965 --- /dev/null +++ b/docs/antora.yml @@ -0,0 +1,11 @@ +name: reference +version: 0.2.2 +prerelease: '-SNAPSHOT' + +title: Spring Authorization Server +display_version: latest +start_page: ROOT:index.adoc +nav: + - modules/ROOT/nav.adoc + - modules/guides/nav.adoc + - modules/appendix/nav.adoc diff --git a/docs/local-antora-playbook.yml b/docs/local-antora-playbook.yml new file mode 100644 index 000000000..1124988e6 --- /dev/null +++ b/docs/local-antora-playbook.yml @@ -0,0 +1,16 @@ +site: + title: Spring Authorization Server + url: https://docs.spring.io/spring-authorization-server + start_page: reference::index.adoc +asciidoc: + attributes: + page-pagination: true +content: + sources: + - url: ../ + branches: [guides] + start_path: docs +ui: + bundle: + url: https://github.com/spring-io/antora-ui-spring/releases/download/latest/ui-bundle.zip + snapshot: true diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc new file mode 100644 index 000000000..8f0baea15 --- /dev/null +++ b/docs/modules/ROOT/nav.adoc @@ -0,0 +1,7 @@ +.xref:index.adoc[Reference Manual] +* xref:overview.adoc[Overview] +* xref:getting-help.adoc[Getting Help] +* xref:getting-started.adoc[Getting Started] +* xref:configuration-model.adoc[Configuration Model] +* xref:core-components.adoc[Core Components] +* xref:protocol-endpoints.adoc[Protocol Endpoints] diff --git a/docs/modules/ROOT/pages/configuration-model.adoc b/docs/modules/ROOT/pages/configuration-model.adoc new file mode 100644 index 000000000..54e1f0011 --- /dev/null +++ b/docs/modules/ROOT/pages/configuration-model.adoc @@ -0,0 +1,18 @@ += Configuration Model + +This page is under construction. + +[[oauth2-authorization-server-configurer]] +== `OAuth2AuthorizationServerConfigurer` + +This section is under construction. + +[[oauth2-authorization-server-configuration]] +== `OAuth2AuthorizationServerConfiguration` + +This section is under construction. + +[[provider-settings]] +== `ProviderSettings` / `ProviderContext` + +This section is under construction. diff --git a/docs/modules/ROOT/pages/core-components.adoc b/docs/modules/ROOT/pages/core-components.adoc new file mode 100644 index 000000000..e47ad2850 --- /dev/null +++ b/docs/modules/ROOT/pages/core-components.adoc @@ -0,0 +1,28 @@ += Core Components + +This page is under construction. + +[[registered-client-repository]] +== `RegisteredClientRepository` / `RegisteredClient` + +This section is under construction. + +[[oauth2-authorization-service]] +== `OAuth2AuthorizationService` / `OAuth2Authorization` + +This section is under construction. + +[[oauth2-authorization-consent-service]] +== `OAuth2AuthorizationConsentService` / `OAuth2AuthorizationConsent` + +This section is under construction. + +[[jwt-encoder]] +== `JwtEncoder` + +This section is under construction. + +[[oauth2-token-customizer]] +== `OAuth2TokenCustomizer` / `OAuth2TokenContext` + +This section is under construction. diff --git a/docs/modules/ROOT/pages/getting-help.adoc b/docs/modules/ROOT/pages/getting-help.adoc new file mode 100644 index 000000000..441c87c9d --- /dev/null +++ b/docs/modules/ROOT/pages/getting-help.adoc @@ -0,0 +1,3 @@ += Getting Help + +This page is under construction. diff --git a/docs/modules/ROOT/pages/getting-started.adoc b/docs/modules/ROOT/pages/getting-started.adoc new file mode 100644 index 000000000..8b8e990da --- /dev/null +++ b/docs/modules/ROOT/pages/getting-started.adoc @@ -0,0 +1,18 @@ += Getting Started + +This page is under construction. + +[[system-requirements]] +== System Requirements + +This section is under construction. + +[[installing-spring-authorization-server]] +== Installing Spring Authorization Server + +This section is under construction. + +[[developing-your-first-application]] +== Developing Your First Spring Authorization Server Application + +This section is under construction. diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc new file mode 100644 index 000000000..9799ee01d --- /dev/null +++ b/docs/modules/ROOT/pages/index.adoc @@ -0,0 +1,3 @@ += Reference Manual + +This page is under construction. diff --git a/docs/modules/ROOT/pages/overview.adoc b/docs/modules/ROOT/pages/overview.adoc new file mode 100644 index 000000000..493b15014 --- /dev/null +++ b/docs/modules/ROOT/pages/overview.adoc @@ -0,0 +1,13 @@ += Overview + +This page is under construction. + +[[introducing-spring-authorization-server]] +== Introducing Spring Authorization Server + +This section is under construction. + +[[feature-list]] +== Feature List + +This section is under construction. diff --git a/docs/modules/ROOT/pages/protocol-endpoints.adoc b/docs/modules/ROOT/pages/protocol-endpoints.adoc new file mode 100644 index 000000000..56ef25de4 --- /dev/null +++ b/docs/modules/ROOT/pages/protocol-endpoints.adoc @@ -0,0 +1,48 @@ += Protocol Endpoints + +This page is under construction. + +[[oauth2-authorization-endpoint]] +== OAuth 2.0 Authorization Endpoint + +This section is under construction. + +[[oauth2-token-endpoint]] +== OAuth 2.0 Token Endpoint + +This section is under construction. + +[[oauth2-token-introspection-endpoint]] +== OAuth 2.0 Token Introspection Endpoint + +This section is under construction. + +[[oauth2-token-revocation-endpoint]] +== OAuth 2.0 Token Revocation Endpoint + +This section is under construction. + +[[oauth2-authorization-server-metadata-endpoint]] +== OAuth 2.0 Authorization Server Metadata Endpoint + +This section is under construction. + +[[jwk-set-endpoint]] +== JWK Set Endpoint + +This section is under construction. + +[[openid-connect-provider-configuration-endpoint]] +== OpenID Connect 1.0 Provider Configuration Endpoint + +This section is under construction. + +[[openid-connect-user-info-endpoint]] +== OpenID Connect 1.0 UserInfo Endpoint + +This section is under construction. + +[[openid-connect-client-registration-endpoint]] +== OpenID Connect 1.0 Client Registration Endpoint + +This section is under construction. diff --git a/docs/modules/appendix/nav.adoc b/docs/modules/appendix/nav.adoc new file mode 100644 index 000000000..d54f68472 --- /dev/null +++ b/docs/modules/appendix/nav.adoc @@ -0,0 +1 @@ +* xref:index.adoc[Appendices] \ No newline at end of file diff --git a/docs/modules/appendix/pages/index.adoc b/docs/modules/appendix/pages/index.adoc new file mode 100644 index 000000000..4e0fc5c5c --- /dev/null +++ b/docs/modules/appendix/pages/index.adoc @@ -0,0 +1,3 @@ += Appendices + +This page is under construction. diff --git a/docs/modules/guides/nav.adoc b/docs/modules/guides/nav.adoc new file mode 100644 index 000000000..285599357 --- /dev/null +++ b/docs/modules/guides/nav.adoc @@ -0,0 +1,2 @@ +.xref:index.adoc["How-to" Guides] +* xref:page-1.adoc[Example 1] diff --git a/docs/modules/guides/pages/index.adoc b/docs/modules/guides/pages/index.adoc new file mode 100644 index 000000000..4b8265926 --- /dev/null +++ b/docs/modules/guides/pages/index.adoc @@ -0,0 +1,28 @@ += "How-to" Guides + +This page is under construction. + +== Table of contents + +** Obtain an access token using a specific grant_type: +*** `authorization_code` +*** `client_credentials` +*** `refresh_token` +** Customize form based login +** Authenticate a user with two-factor authentication +** Customize the user consent page +** Authenticate using OpenID Connect 1.0 authorization_code flow +** Customize the OpenID Connect 1.0 UserInfo response +** Authenticate using social login, e.g. Google +** Authenticate a user in a Single Page Application with PKCE +** Customize client authentication for specific authentication methods +** Handle errors and customize the OAuth 2.0 Error response +** Authorize an access token containing custom authorities, e.g. roles, groups, permissions, etc. +*** Customize the headers / claims in a JWT +** Deny access for a revoked JWT access token +*** Introspect / revoke an access token +** Provide a JWK source backed by a key rotation strategy +** Implement the core services with JPA: +*** `RegisteredClientRepository` +*** `OAuth2AuthorizationService` +*** `OAuth2AuthorizationConsentService` diff --git a/docs/modules/guides/pages/page-1.adoc b/docs/modules/guides/pages/page-1.adoc new file mode 100644 index 000000000..cb21cff15 --- /dev/null +++ b/docs/modules/guides/pages/page-1.adoc @@ -0,0 +1 @@ += Example 1 diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 000000000..58af61095 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,6 @@ +{ + "dependencies": { + "@antora/cli": "^3.0.0-alpha.8", + "@antora/site-generator-default": "^3.0.0-alpha.8" + } +}