|  | @@ -23,6 +23,7 @@ import org.springframework.security.core.Authentication;
 | 
	
		
			
				|  |  |  import org.springframework.security.core.GrantedAuthority;
 | 
	
		
			
				|  |  |  import org.springframework.security.core.context.ReactiveSecurityContextHolder;
 | 
	
		
			
				|  |  |  import org.springframework.security.core.context.SecurityContextHolder;
 | 
	
		
			
				|  |  | +import org.springframework.security.oauth2.client.ClientAuthorizationRequiredException;
 | 
	
		
			
				|  |  |  import org.springframework.security.oauth2.client.OAuth2AuthorizedClient;
 | 
	
		
			
				|  |  |  import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken;
 | 
	
		
			
				|  |  |  import org.springframework.security.oauth2.client.registration.ClientRegistration;
 | 
	
	
		
			
				|  | @@ -150,7 +151,13 @@ public final class ServletOAuth2AuthorizedClientExchangeFilterFunction implement
 | 
	
		
			
				|  |  |  	 * @return the {@link Consumer} to populate the attributes
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	public static Consumer<Map<String, Object>> oauth2AuthorizedClient(OAuth2AuthorizedClient authorizedClient) {
 | 
	
		
			
				|  |  | -		return attributes -> attributes.put(OAUTH2_AUTHORIZED_CLIENT_ATTR_NAME, authorizedClient);
 | 
	
		
			
				|  |  | +		return attributes -> {
 | 
	
		
			
				|  |  | +			if (authorizedClient == null) {
 | 
	
		
			
				|  |  | +				attributes.remove(OAUTH2_AUTHORIZED_CLIENT_ATTR_NAME);
 | 
	
		
			
				|  |  | +			} else {
 | 
	
		
			
				|  |  | +				attributes.put(OAUTH2_AUTHORIZED_CLIENT_ATTR_NAME, authorizedClient);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		};
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
	
		
			
				|  | @@ -262,6 +269,9 @@ public final class ServletOAuth2AuthorizedClientExchangeFilterFunction implement
 | 
	
		
			
				|  |  |  			OAuth2AuthorizedClient authorizedClient = this.authorizedClientRepository
 | 
	
		
			
				|  |  |  					.loadAuthorizedClient(clientRegistrationId, authentication,
 | 
	
		
			
				|  |  |  							request);
 | 
	
		
			
				|  |  | +			if (authorizedClient == null) {
 | 
	
		
			
				|  |  | +				throw new ClientAuthorizationRequiredException(clientRegistrationId);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  |  			oauth2AuthorizedClient(authorizedClient).accept(attrs);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 |