Gérer les exceptions à la Sécurité, au Printemps de Démarrage Serveur de Ressources

Comment puis-je obtenir mon custom ResponseEntityExceptionHandler ou OAuth2ExceptionRenderer pour gérer les Exceptions soulevées par le Printemps de sécurité à l'état pur, serveur de ressources?

Nous avons mis en place un

@ControllerAdvice
@RestController
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {

donc, chaque fois qu'il y a une erreur sur le serveur de ressources que nous voulons répondre avec

{
  "message": "...",
  "type": "...",
  "status": 400
}

Le serveur de ressources utilise l'application.propriétés de réglage:

security.oauth2.resource.userInfoUri: http://localhost:9999/auth/user

pour authentifier et autoriser une demande à l'encontre de notre auth server.

Toutefois, le printemps de sécurité de l'erreur sera toujours contourner notre gestionnaire d'exception à

    @ExceptionHandler(InvalidTokenException.class)
    public ResponseEntity<Map<String, Object>> handleInvalidTokenException(InvalidTokenException e) {
        return createErrorResponseAndLog(e, 401);
    }

et produire des

{
  "timestamp": "2016-12-14T10:40:34.122Z",
  "status": 403,
  "error": "Forbidden",
  "message": "Access Denied",
  "path": "/api/templates/585004226f793042a094d3a9/schema"
}

ou

{
  "error": "invalid_token",
  "error_description": "5d7e4ab5-4a88-4571-b4a4-042bce0a076b"
}

Alors, comment puis-je configurer la sécurité de la manipulation d'exception pour un serveur de ressource? Tout ce que je trouve des exemples sur la façon de personnaliser l'Authentification du Serveur par la mise en œuvre d'une coutume OAuth2ExceptionRenderer. Mais je ne peux pas trouver où la relier au serveur de ressources de la sécurité de la chaîne.

Notre seule de configuration/est-ce:

@SpringBootApplication
@Configuration
@ComponentScan(basePackages = {"our.packages"})
@EnableAutoConfiguration
@EnableResourceServer

OriginalL'auteur Pete | 2016-12-14