在 Keycloak 中扩展 OIDCLoginProtocol

Posted

技术标签:

【中文标题】在 Keycloak 中扩展 OIDCLoginProtocol【英文标题】:Extend OIDCLoginProtocol in Keycloak 【发布时间】:2021-11-11 02:29:20 【问题描述】:

我想为我的客户端应用程序使用 OIDC 登录协议。但是 OIDC 登录协议的默认实现不符合我的要求。我想更新 OIDCLoginProtocol 的 authenticated 方法。是否有任何简单的方法来扩展 OIDC 登录协议并仅更新 OIDCLoginProtocol.java 的 authenticated 方法

【问题讨论】:

【参考方案1】:

如果有 OIDCLoginProtocol 的 SPI,请检查 Keycloak 源。我想最新版本可能是正确的(UPD。是的,至少对于 master 分支)。如果是,请参考Keycloak Development guides,如何实现和部署自定义 Keycloak Service Provider。

否则,您只能选择 fork Keycloak 源,根据需要更新 OIDCLoginProtocol.java,然后构建自定义 Keycloak 分发。

【讨论】:

可以创建我之前做过的自定义登录协议。但我正在寻找一种简单的方法来仅扩展一种内置 SPI 的方法。第二个选项也是一个很好的解决方案,但是对于每个新版本的 Keycloack,我需要创建自定义 Keycloak 分发。 @solveMe

以上是关于在 Keycloak 中扩展 OIDCLoginProtocol的主要内容,如果未能解决你的问题,请参考以下文章

KEYCLOAK - 扩展 OIDC 协议 |缺少凭据选项卡 |在 AccessTokenResponse 中添加额外的声明

扩展 Keycloak 主题

带有 chrome 扩展的 Keycloak 登录

具有依赖项的 Keycloak 扩展

扩展默认 Keycloak 帐户管理

keycloak~自定义rest接口