Можно ли использовать пользовательскую логику аутентификации в Keycloak?
Я настроил Keycloak с федерацией пользователей LDAP. Когда пользователь хочет войти в приложение, он перенаправляется на страницу входа в Keycloak, вводит uid/pwd и аутентифицируется с помощью привязки LDAP.
Этого недостаточно для моих требований, так как я хотел бы реализовать некоторую пользовательскую логику аутентификации, например:
public boolean authenticate(String uid, String pwd) {
//1.- validate against LDAP
//2.- do some other validations
return validationResult;
}
Как я могу включить свою собственную логику аутентификации в Keycloak?
2 ответа
Чтобы добавить новый механизм аутентификации, вы реализуете SPI аутентификации. Это описано в разделе " Руководство поразработке сервера" > " SPI-аутентификация ".
Вы могли бы реализовать SPI аутентификации и развернуть его на сервере Keycloak, или вы могли бы реализовать логику аутентификации в пакете провайдера пользовательского пользователя, если вы осуществляете федерацию пользователей без использования параметров по умолчанию (этот поток аутентификации будет доступен только для этого конкретного федеративного пользователя хранить в этом случае).