| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
							- [[webflux-oauth2-client]]
 
- = OAuth2 Client
 
- Spring Security's OAuth Support allows obtaining an access token without authenticating.
 
- A basic configuration with Spring Boot can be seen below:
 
- [source,yml]
 
- ----
 
- spring:
 
-   security:
 
-     oauth2:
 
-       client:
 
-         registration:
 
-           github:
 
-             client-id: replace-with-client-id
 
-             client-secret: replace-with-client-secret
 
-             scope: read:user,public_repo
 
- ----
 
- You will need to replace the `client-id` and `client-secret` with values registered with GitHub.
 
- The next step is to instruct Spring Security that you wish to act as an OAuth2 Client so that you can obtain an access token.
 
- .OAuth2 Client
 
- ====
 
- .Java
 
- [source,java,role="primary"]
 
- ----
 
- @Bean
 
- SecurityWebFilterChain configure(ServerHttpSecurity http) throws Exception {
 
- 	http
 
- 		// ...
 
- 		.oauth2Client(withDefaults());
 
- 	return http.build();
 
- }
 
- ----
 
- .Kotlin
 
- [source,kotlin,role="secondary"]
 
- ----
 
- @Bean
 
- fun webFilterChain(http: ServerHttpSecurity): SecurityWebFilterChain {
 
-     return http {
 
-         // ...
 
-         oauth2Client { }
 
-     }
 
- }
 
- ----
 
- ====
 
- You can now leverage Spring Security's xref:reactive/integrations/webclient.adoc[webclient] or xref:reactive/registered-oauth2-authorized-client.adoc#webflux-roac[@RegisteredOAuth2AuthorizedClient] support to obtain and use the access token.
 
 
  |