1

В настоящее время я оцениваю keycloak как центральный диспетчер идентификации для нескольких бэкэнд с несколькими службами REST (Resteasy/Wildfly).Пользовательский аутентификатор для OpenID Keycloak realm

После многих проб и ошибок, чтение доку, мне удалось успешно сделав OpenID подключить вход в мой пользовательский keycloakrealm (аналог на этот пост http://blog.keycloak.org/2015/10/getting-started-with-keycloak-securing.html)

Я могу видеть маркер доступа + id_token приходит в ответ и могут отправлять запросы к службам REST, передавая эти токи.

Однако я могу только аутентифицироваться, используя учетные данные пользователей, определенных в самом ключевом плаще. Тем не менее, в нашем случае reallife пользователи находятся в SAP и не знакомы с keyclayak.

У нас есть, однако, библиотека javalibrary для аутентификации этих пользователей через разъем SAPJCO.

Может ли кто-нибудь рассказать мне, как настроить keycloak для использования модуля «пользовательской аутентификации» для подлинной аутентификации?

Внедряет пользовательский аутентификатор SPI (https://keycloak.gitbooks.io/server-developer-guide/content/v/2.1/topics/auth-spi.html), как идти? Если нет, то что будет возможным решением ???

Надеюсь, вы, ребята, можете помочь!

Reagrds,

Ким Zeevaarders Нидерланды

ответ

2

Если вы можете получить доступ к пользователям SAP детали через разъем SAPJCO, то вы можете написать пользовательские Federation Provider. Приведенный пример является рудиментарным, но он дает основную идею и зависимости maven.

В двух словах вам нужно будет расширить org.keycloak.models.UserFederationProvider и предоставить методы для получения сведений о пользователе, проверки учетных данных и поиска по атрибутам. В вашем случае вы будете использовать ваш разъем SAPJCO для выполнения каждой из этих функций против существующей базы пользователей.

+0

Thx за советом. Мне удалось реализовать его так, как вы предложили, и он отлично работает! Теперь для второй части: как я точно передаю учетные данные для keycloak directy изнутри внутри REST-вызова? В заголовке авторизации? –