Document authentication helper method in WebClient integration
Closes gh-10120
This commit is contained in:
parent
869e379099
commit
49f3c0ce53
|
@ -2212,6 +2212,60 @@ fun index(): String {
|
|||
====
|
||||
<1> `clientRegistrationId()` is a `static` method in `ServletOAuth2AuthorizedClientExchangeFilterFunction`.
|
||||
|
||||
The following code shows how to set an `Authentication` as a request attribute:
|
||||
|
||||
====
|
||||
.Java
|
||||
[source,java,role="primary"]
|
||||
----
|
||||
@GetMapping("/")
|
||||
public String index() {
|
||||
String resourceUri = ...
|
||||
|
||||
Authentication anonymousAuthentication = new AnonymousAuthenticationToken(
|
||||
"anonymous", "anonymousUser", AuthorityUtils.createAuthorityList("ROLE_ANONYMOUS"));
|
||||
String body = webClient
|
||||
.get()
|
||||
.uri(resourceUri)
|
||||
.attributes(authentication(anonymousAuthentication)) <1>
|
||||
.retrieve()
|
||||
.bodyToMono(String.class)
|
||||
.block();
|
||||
|
||||
...
|
||||
|
||||
return "index";
|
||||
}
|
||||
----
|
||||
|
||||
.Kotlin
|
||||
[source,kotlin,role="secondary"]
|
||||
----
|
||||
@GetMapping("/")
|
||||
fun index(): String {
|
||||
val resourceUri: String = ...
|
||||
|
||||
val anonymousAuthentication: Authentication = AnonymousAuthenticationToken(
|
||||
"anonymous", "anonymousUser", AuthorityUtils.createAuthorityList("ROLE_ANONYMOUS"))
|
||||
val body: String = webClient
|
||||
.get()
|
||||
.uri(resourceUri)
|
||||
.attributes(authentication(anonymousAuthentication)) <1>
|
||||
.retrieve()
|
||||
.bodyToMono()
|
||||
.block()
|
||||
|
||||
...
|
||||
|
||||
return "index"
|
||||
}
|
||||
----
|
||||
====
|
||||
<1> `authentication()` is a `static` method in `ServletOAuth2AuthorizedClientExchangeFilterFunction`.
|
||||
|
||||
[WARNING]
|
||||
It is recommended to be cautious with this feature since all HTTP requests will receive an access token bound to the provided principal.
|
||||
|
||||
|
||||
=== Defaulting the Authorized Client
|
||||
|
||||
|
|
Loading…
Reference in New Issue