OpenID Keycloak 领域的自定义验证器
Custom Authenticator for OpenID Keycloak realm
我目前正在评估 keycloak 作为具有多个 REST 服务 (Resteasy/Wildfly) 的多个后端的中央身份管理器。
经过大量的反复试验和阅读文档,我成功地使 openid 连接登录到我的自定义 keycloakrealm(类似于此 post http://blog.keycloak.org/2015/10/getting-started-with-keycloak-securing.html)
我可以在响应中看到访问令牌 + id_token,并且能够通过传递这些令牌向 REST 服务发出请求。
但是我只能使用 keycloak 本身定义的用户凭据进行身份验证。然而,在我们的真实案例中,用户驻留在 SAP 中并且 keycloak 不知道。
我们有,但是有一个 javalibrary 用于通过 SAPJCO 连接器对这些用户进行身份验证。
谁能告诉我如何配置 keycloak 以使用 "custom authentication" 模块进行实际身份验证?
实施自定义身份验证器 SPI (https://keycloak.gitbooks.io/server-developer-guide/content/v/2.1/topics/auth-spi.html) 是否可行?如果没有,可能的解决方案是什么???
希望大家帮帮忙!
收到,
金·泽瓦德斯
荷兰
如果您可以通过 SAPJCO 连接器访问 SAP 用户详细信息,那么您可以编写自定义 Federation Provider。提供的示例是基本的,但它给出了基本思想和 Maven 依赖项。
简而言之,您需要扩展 org.keycloak.models.UserFederationProvider
并提供获取用户详细信息、凭据验证和按属性搜索的方法。在您的情况下,您将使用 SAPJCO 连接器针对现有用户群实现这些功能中的每一个。
2018 年 5 月 30 日更新
User Federation SPI 已替换为新的 User Storage SPI in release 2.5. Migration Notes are available here
我目前正在评估 keycloak 作为具有多个 REST 服务 (Resteasy/Wildfly) 的多个后端的中央身份管理器。
经过大量的反复试验和阅读文档,我成功地使 openid 连接登录到我的自定义 keycloakrealm(类似于此 post http://blog.keycloak.org/2015/10/getting-started-with-keycloak-securing.html)
我可以在响应中看到访问令牌 + id_token,并且能够通过传递这些令牌向 REST 服务发出请求。
但是我只能使用 keycloak 本身定义的用户凭据进行身份验证。然而,在我们的真实案例中,用户驻留在 SAP 中并且 keycloak 不知道。
我们有,但是有一个 javalibrary 用于通过 SAPJCO 连接器对这些用户进行身份验证。
谁能告诉我如何配置 keycloak 以使用 "custom authentication" 模块进行实际身份验证?
实施自定义身份验证器 SPI (https://keycloak.gitbooks.io/server-developer-guide/content/v/2.1/topics/auth-spi.html) 是否可行?如果没有,可能的解决方案是什么???
希望大家帮帮忙!
收到,
金·泽瓦德斯 荷兰
如果您可以通过 SAPJCO 连接器访问 SAP 用户详细信息,那么您可以编写自定义 Federation Provider。提供的示例是基本的,但它给出了基本思想和 Maven 依赖项。
简而言之,您需要扩展 org.keycloak.models.UserFederationProvider
并提供获取用户详细信息、凭据验证和按属性搜索的方法。在您的情况下,您将使用 SAPJCO 连接器针对现有用户群实现这些功能中的每一个。
2018 年 5 月 30 日更新
User Federation SPI 已替换为新的 User Storage SPI in release 2.5. Migration Notes are available here