|  | @@ -35,6 +35,7 @@ import org.springframework.security.oauth2.core.OAuth2Error;
 | 
	
		
			
				|  |  |  import org.springframework.security.oauth2.core.OAuth2ErrorCodes;
 | 
	
		
			
				|  |  |  import org.springframework.security.oauth2.core.OAuth2UserCode;
 | 
	
		
			
				|  |  |  import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames;
 | 
	
		
			
				|  |  | +import org.springframework.security.oauth2.core.oidc.OidcScopes;
 | 
	
		
			
				|  |  |  import org.springframework.security.oauth2.server.authorization.OAuth2Authorization;
 | 
	
		
			
				|  |  |  import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationService;
 | 
	
		
			
				|  |  |  import org.springframework.security.oauth2.server.authorization.client.RegisteredClient;
 | 
	
	
		
			
				|  | @@ -166,6 +167,23 @@ public class OAuth2DeviceAuthorizationRequestAuthenticationProviderTests {
 | 
	
		
			
				|  |  |  		// @formatter:on
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	@Test
 | 
	
		
			
				|  |  | +	public void authenticateWhenOpenIdScopeThenThrowOAuth2AuthenticationException() {
 | 
	
		
			
				|  |  | +		RegisteredClient registeredClient = TestRegisteredClients.registeredClient()
 | 
	
		
			
				|  |  | +			.authorizationGrantType(AuthorizationGrantType.DEVICE_CODE)
 | 
	
		
			
				|  |  | +			.scope(OidcScopes.OPENID)
 | 
	
		
			
				|  |  | +			.build();
 | 
	
		
			
				|  |  | +		Authentication authentication = createAuthentication(registeredClient);
 | 
	
		
			
				|  |  | +		// @formatter:off
 | 
	
		
			
				|  |  | +		assertThatExceptionOfType(OAuth2AuthenticationException.class)
 | 
	
		
			
				|  |  | +				.isThrownBy(() -> this.authenticationProvider.authenticate(authentication))
 | 
	
		
			
				|  |  | +				.withMessageContaining(OAuth2ParameterNames.SCOPE)
 | 
	
		
			
				|  |  | +				.extracting(OAuth2AuthenticationException::getError)
 | 
	
		
			
				|  |  | +				.extracting(OAuth2Error::getErrorCode)
 | 
	
		
			
				|  |  | +				.isEqualTo(OAuth2ErrorCodes.INVALID_SCOPE);
 | 
	
		
			
				|  |  | +		// @formatter:on
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	@Test
 | 
	
		
			
				|  |  |  	public void authenticateWhenDeviceCodeIsNullThenThrowOAuth2AuthenticationException() {
 | 
	
		
			
				|  |  |  		@SuppressWarnings("unchecked")
 |