Тем временем я нашел способ решить эту проблему. При добавлении только лямбды в конфигурацию ServerHttpSecurity в классе WebSecurityConfiguration , как этот
http
. ...
.oauth2ResourceServer()
.authenticationEntryPoint((exchange, exception) -> Mono.error(exception));
Я могу обработать ошибку в моей пользовательской реализации AbstractErrorWebExceptionHandler , где я в любом случае обрабатываю все исключения, не связанные с безопасностью пружины. Это работает. Мне пришлось скопировать немного логики из BearerTokenServerAuthenticationEntryPoint , чтобы получить правильный заголовок WWW-Authenticate в ответе, но теперь он отлично работает с настраиваемым телом в случае любого исключения, возникающего из весенней безопасности.