Skip to content

Commit 966d737

Browse files
Improve generating document
Signed-off-by: Tran Ngoc Nhan <[email protected]>
1 parent 933516d commit 966d737

File tree

5 files changed

+27
-9
lines changed

5 files changed

+27
-9
lines changed

docs/antora-playbook.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ asciidoc:
2525
extensions:
2626
- '@asciidoctor/tabs'
2727
- '@springio/asciidoctor-extensions'
28+
- '@springio/asciidoctor-extensions/javadoc-extension'
2829
urls:
2930
latest_version_segment_strategy: redirect:to
3031
latest_version_segment: ''

docs/antora.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ asciidoc:
1515
attributes:
1616
attribute-missing: 'warn'
1717
chomp: 'all'
18-
spring-security-reference-base-url: "https://docs.spring.io/spring-security/reference"
19-
spring-security-api-base-url: "https://docs.spring.io/spring-security/site/docs/current/api"
20-
spring-boot-reference-base-url: "https://docs.spring.io/spring-boot/docs/current/reference/html"
2118
examples-dir: example$docs-src
2219
samples-dir: example$samples
2320
docs-java: '{examples-dir}/main/java'

docs/modules/ROOT/pages/core-model-components.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,13 +148,13 @@ An `OAuth2Authorization` is a representation of an OAuth2 authorization, which h
148148
[TIP]
149149
The corresponding authorization model in Spring Security's OAuth2 Client support is {spring-security-reference-base-url}/servlet/oauth2/client/core.html#oauth2Client-authorized-client[OAuth2AuthorizedClient].
150150

151-
After the successful completion of an authorization grant flow, an `OAuth2Authorization` is created and associates an {spring-security-api-base-url}/org/springframework/security/oauth2/core/OAuth2AccessToken.html[`OAuth2AccessToken`], an (optional) {spring-security-api-base-url}/org/springframework/security/oauth2/core/OAuth2RefreshToken.html[`OAuth2RefreshToken`], and additional state specific to the executed authorization grant type.
151+
After the successful completion of an authorization grant flow, an `OAuth2Authorization` is created and associates an javadoc:org.springframework.security.oauth2.core.OAuth2AccessToken[], an (optional) javadoc:org.springframework.security.oauth2.core.OAuth2RefreshToken[], and additional state specific to the executed authorization grant type.
152152

153-
The {spring-security-api-base-url}/org/springframework/security/oauth2/core/OAuth2Token.html[`OAuth2Token`] instances associated with an `OAuth2Authorization` vary, depending on the authorization grant type.
153+
The javadoc:org.springframework.security.oauth2.core.OAuth2Token[] instances associated with an `OAuth2Authorization` vary, depending on the authorization grant type.
154154

155155
For the OAuth2 https://datatracker.ietf.org/doc/html/rfc6749#section-4.1[authorization_code grant], an `OAuth2AuthorizationCode`, an `OAuth2AccessToken`, and an (optional) `OAuth2RefreshToken` are associated.
156156

157-
For the OpenID Connect 1.0 https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth[authorization_code grant], an `OAuth2AuthorizationCode`, an {spring-security-api-base-url}/org/springframework/security/oauth2/core/oidc/OidcIdToken.html[`OidcIdToken`], an `OAuth2AccessToken`, and an (optional) `OAuth2RefreshToken` are associated.
157+
For the OpenID Connect 1.0 https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth[authorization_code grant], an `OAuth2AuthorizationCode`, an javadoc:org.springframework.security.oauth2.core.oidc.OidcIdToken[], an `OAuth2AccessToken`, and an (optional) `OAuth2RefreshToken` are associated.
158158

159159
For the OAuth2 https://datatracker.ietf.org/doc/html/rfc6749#section-4.4[client_credentials grant], only an `OAuth2AccessToken` is associated.
160160

docs/modules/ROOT/pages/getting-started.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ This is a minimal configuration for getting started quickly. To understand what
9999

100100
<1> A Spring Security filter chain for the xref:protocol-endpoints.adoc[Protocol Endpoints].
101101
<2> A Spring Security filter chain for https://docs.spring.io/spring-security/reference/servlet/authentication/index.html[authentication].
102-
<3> An instance of {spring-security-api-base-url}/org/springframework/security/core/userdetails/UserDetailsService.html[`UserDetailsService`] for retrieving users to authenticate.
102+
<3> An instance of javadoc:org.springframework.security.core.userdetails.UserDetailsService[] for retrieving users to authenticate.
103103
<4> An instance of xref:core-model-components.adoc#registered-client-repository[`RegisteredClientRepository`] for managing clients.
104104
<5> An instance of `com.nimbusds.jose.jwk.source.JWKSource` for signing access tokens.
105105
<6> An instance of `java.security.KeyPair` with keys generated on startup used to create the `JWKSource` above.
106-
<7> An instance of {spring-security-api-base-url}/org/springframework/security/oauth2/jwt/JwtDecoder.html[`JwtDecoder`] for decoding signed access tokens.
106+
<7> An instance of javadoc:org.springframework.security.oauth2.jwt.JwtDecoder[] for decoding signed access tokens.
107107
<8> An instance of xref:configuration-model#configuring-authorization-server-settings[`AuthorizationServerSettings`] to configure Spring Authorization Server.

docs/spring-authorization-server-docs.gradle

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,15 @@ tasks.named("generateAntoraYml") {
3030

3131

3232
def generateAttributes() {
33+
def springBootVersion = project.configurations.named("implementation").get()
34+
.dependencies.find {it -> ("spring-boot-dependencies" == it.name) }
35+
.version
36+
String springSecurityVersion = libs.org.springframework.security.spring.security.bom.get().versionConstraint.displayName
3337
return [
34-
"spring-authorization-server-version": project.version
38+
"spring-authorization-server-version": project.version,
39+
"spring-security-reference-base-url": "https://docs.spring.io/spring-security/reference/${generateVersionWithoutPatch(springSecurityVersion)}".toString(),
40+
"javadoc-location-org-springframework-security": "https://docs.spring.io/spring-security/site/docs/$springSecurityVersion/api".toString(),
41+
"spring-boot-reference-base-url": "https://docs.spring.io/spring-boot/docs/${generateVersionWithoutPatch(springBootVersion)}/reference/html".toString()
3542
]
3643
}
3744

@@ -76,3 +83,16 @@ dependencies {
7683
tasks.named("test") {
7784
useJUnitPlatform()
7885
}
86+
87+
static String generateVersionWithoutPatch(String version) {
88+
89+
def matcher = version =~ /^(\d+.\d+).\d+(-SNAPSHOT|-M\d+)?$/
90+
if(matcher) {
91+
92+
return matcher[0][2] == null || matcher[0][2].startsWith("-M")
93+
? matcher[0][1]
94+
: matcher[0][1] + matcher[0][2]
95+
}
96+
97+
return version
98+
}

0 commit comments

Comments
 (0)