Пользовательское исключение Keycloak в User Storage SPI - PullRequest
0 голосов
/ 12 марта 2020

У нас есть собственная реализация UserStorageProvider и UserRegistrationProvider. В addUser я хочу добавить пользовательское исключение

@Override
public UserModel addUser(RealmModel realmModel, String s) {
  throw new CustomException("Custom exception");
}

Но как справиться с этим со стороны клиента? Я всегда получаю 500 Internal Server Error с ответом

{"error":"unknown_error"}

. Я хочу увидеть другой код состояния и сообщение об ошибке. Как добиться такого поведения? Спасибо.

1 Ответ

0 голосов
/ 26 марта 2020

Вы можете попробовать расширить один из классов исключений Keycloak.

Например, используя org.keycloak.services.ErrorResponseException , вы можете определить (String error, String errorDescription, Response.Status status) в конструкторе.

Вы также можете проверить все исключения, которые расширяют javax.ws.rs.WebApplicationException, возможно, вы найдете более подходящий пример для вашего случая.

...