У меня есть следующая проблема, связанная с Keycloak и сценарием аутентификации с двумя провайдерами пользователей:
- Первый - это стандартный провайдер пользователей LDAP - он настроен и может аутентифицировать пользователей с использованием LDAP
- Второй - мой собственный пользовательский провайдер (который может аутентифицировать пользователя и извлекать его данные (роли, привилегии) с использованием пользовательской базы данных
Каждый из них, когда используется отдельно, работает нормально.
Проблема в том, что когда я пытаюсь использовать их оба (LDAP, один с приоритетом = 0, пользовательский с приоритетом = 1), я хочу аутентифицировать пользователя, используя стандартный поставщик LDAP, а затем, после успешной аутентификации, использовать пользовательский дляобогатить такого аутентифицированного пользователя данными, выбранными из него (например, дополнительными свойствами, ролями и т. д.)
Как этого добиться? Потому что по умолчанию Keycloak не вызывает второго провайдера, если первому удалось успешно аутентифицировать пользователя.