Чтобы уточнить ответ zfChaos, который является хорошим примером, но не предоставляет достаточной информации для ответа, который будет JSON ответом:
Вы также должны установить тип содержимого и кодировку символов. Затем напишите свой ответ JSON (в этом примере я использовал простую строку, конечно, было бы удобнее использовать класс и ObjectMapper
).
Вот полный пример:
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
public void configure(HttpSecurity httpSecurity) throws Exception {
httpSecurity
.oauth2Login(login -> login
.failureHandler((request, response, exception) -> {
response.setContentType("application/json");
response.setStatus(401);
response.setCharacterEncoding("UTF-8");
response.getWriter().write("{ \"msg\": \"foo\" }");
})
);
}
}