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