Explorar o código

Add registered OAuth2 authorized client Kotlin samples

Issue gh-8172
Eleftheria Stein %!s(int64=5) %!d(string=hai) anos
pai
achega
380a11566e

+ 26 - 2
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 <<webflux-oauth2-login,OAuth2 Login>> or as an <<webflux-oauth2-client,OAuth2 Client>>, an `OAuth2AuthorizedClient` can be resolved using the following:
 
-[source,java]
+====
+.Java
+[source,java,role="primary"]
 ----
 @GetMapping("/explicit")
 Mono<String> explicit(@RegisteredOAuth2AuthorizedClient("client-id") OAuth2AuthorizedClient authorizedClient) {
@@ -18,6 +20,16 @@ Mono<String> explicit(@RegisteredOAuth2AuthorizedClient("client-id") OAuth2Autho
 }
 ----
 
+.Kotlin
+[source,kotlin,role="secondary"]
+----
+@GetMapping("/explicit")
+fun explicit(@RegisteredOAuth2AuthorizedClient("client-id") authorizedClient: OAuth2AuthorizedClient?): Mono<String> {
+    // ...
+}
+----
+====
+
 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<String> implicit(@RegisteredOAuth2AuthorizedClient OAuth2AuthorizedClient authorizedClient) {
@@ -36,4 +50,14 @@ Mono<String> implicit(@RegisteredOAuth2AuthorizedClient OAuth2AuthorizedClient a
 }
 ----
 
+.Kotlin
+[source,kotlin,role="secondary"]
+----
+@GetMapping("/implicit")
+fun implicit(@RegisteredOAuth2AuthorizedClient authorizedClient: OAuth2AuthorizedClient?): Mono<String> {
+    // ...
+}
+----
+====
+
 This is convenient if the user always authenticates with OAuth2 Login and an access token from the same authorization server is needed.