Аутентификация пользователя в REST-сервисах по сертификату

Всем привет!
В документации JMIX описывается лишь один метод аутентификации пользователей в REST-сервисах - это client_secret_basic. Скажите пожалуйста, встроенный в Jmix сервер авторизации поддерживает другие методы? Меня в частности интересует аутентификация пользователей по сертификату (tls_client_auth). Стоит ли пытаться настроить этот метод аутентификации? Может быть есть примеры его применения? Спасибо!

Добрый день!

Из коробки в модуле jmix-security-oauth2 поддерживается только один способ аутентификации. Но вам ничего не мешает исключить этот стартер из проекта, оставить только jmix-rest, который предоставляет сами эндпойнты.

//    implementation("io.jmix.security:jmix-security-oauth2-starter")
    implementation("io.jmix.rest:jmix-rest-starter")

Затем на уровне своего проекта пишете конфигурацию spring security, которая определит нужные способы защиты для нужных вам урлов. Тут всё вроде бы должно быть стандартно, как для любого приложения на спринге.

Понятно. Только вот хотелось оставить OAuth2-аутентификацию, которая идёт из коробки плюс добавить на некоторые эндпойнты аутентификацию по сертификату. Мы поэтому и выбрали Jmix, потому что в нём уже много что реализовано. Буду разбираться в этой теме. Не знаю получится ли оставить jmix-security-oauth2 и прикрутить дополнительно другую. Спасибо!

Должно всё сработать и если вы вашу конфигурацию дополнительно к jmix-овским добавите. Главное на относительный порядок (order) конфигураций из Jmix и ваших смотрите.

2 симпатии