diff --git a/docs/manual/src/docs/asciidoc/_includes/reactive/registered-oauth2-authorized-client.adoc b/docs/manual/src/docs/asciidoc/_includes/reactive/registered-oauth2-authorized-client.adoc index 3a36373a61..cd1e4c06cd 100644 --- a/docs/manual/src/docs/asciidoc/_includes/reactive/registered-oauth2-authorized-client.adoc +++ b/docs/manual/src/docs/asciidoc/_includes/reactive/registered-oauth2-authorized-client.adoc @@ -10,7 +10,9 @@ A working example can be found in {gh-samples-url}/boot/oauth2webclient-webflux[ After configuring Spring Security for <> or as an <>, an `OAuth2AuthorizedClient` can be resolved using the following: -[source,java] +==== +.Java +[source,java,role="primary"] ---- @GetMapping("/explicit") Mono explicit(@RegisteredOAuth2AuthorizedClient("client-id") OAuth2AuthorizedClient authorizedClient) { @@ -18,6 +20,16 @@ Mono explicit(@RegisteredOAuth2AuthorizedClient("client-id") OAuth2Autho } ---- +.Kotlin +[source,kotlin,role="secondary"] +---- +@GetMapping("/explicit") +fun explicit(@RegisteredOAuth2AuthorizedClient("client-id") authorizedClient: OAuth2AuthorizedClient?): Mono { + // ... +} +---- +==== + This integrates into Spring Security to provide the following features: * Spring Security will automatically refresh expired tokens (if a refresh token is present) @@ -28,7 +40,9 @@ This integrates into Spring Security to provide the following features: If the user authenticated using `oauth2Login()`, then the `client-id` is optional. For example, the following would work: -[source,java] +==== +.Java +[source,java,role="primary"] ---- @GetMapping("/implicit") Mono implicit(@RegisteredOAuth2AuthorizedClient OAuth2AuthorizedClient authorizedClient) { @@ -36,4 +50,14 @@ Mono implicit(@RegisteredOAuth2AuthorizedClient OAuth2AuthorizedClient a } ---- +.Kotlin +[source,kotlin,role="secondary"] +---- +@GetMapping("/implicit") +fun implicit(@RegisteredOAuth2AuthorizedClient authorizedClient: OAuth2AuthorizedClient?): Mono { + // ... +} +---- +==== + This is convenient if the user always authenticates with OAuth2 Login and an access token from the same authorization server is needed.