|
|
|
|
@ -201,6 +201,63 @@ fun index(): String {
@@ -201,6 +201,63 @@ fun index(): String {
|
|
|
|
|
====== |
|
|
|
|
<1> `clientRegistrationId()` is a `static` method in `ServletOAuth2AuthorizedClientExchangeFilterFunction`. |
|
|
|
|
|
|
|
|
|
The following code shows how to set an `Authentication` as a request attribute: |
|
|
|
|
|
|
|
|
|
[tabs] |
|
|
|
|
====== |
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|