用于旧用户管理的 OpenID Connect 身份验证提供程序?
OpenID Connect authentication provider for legacy user management?
我们有自主开发的专有用户管理和自主开发的单点登录。 (那时候OpenID Connect还没有诞生)
我们的身份验证服务器和胖客户端位于专用网络中,无法访问互联网。
任务是集成第三方胖客户端 - 它的用户应该根据我们现有的身份验证服务器进行身份验证。
总体思路是使用现有的面向未来的框架,它提供标准的身份验证接口(如 Keycloak?)并实现我们自己的 OpenID Connect 身份验证提供程序(或用于 keycloack 的用户存储 SPI)。
keycloack 和用户存储 SPI 的方式值得推荐还是有更好的方法?
正如您所说,这是满足您即时需求的不错选择:
- 外部客户端使用现代 OpenID Connect 流程 - 例如用于桌面应用程序的 OIDC
- 它连接到支持基于标准端点的授权服务器
- Authorization Server 对数据源具有可扩展的支持,并且有可能接触到您现有的用户数据源
举个例子,我工作的 Curity 支持 multiple data sources and there is a free community edition 如果有用的话。
任何满足相同要求的供应商都可以 - 我听说过一些关于 Keycloak 的好消息。
长期
然后逐步更新其他应用以使用现代 OAuth 和 OIDC 行为是有意义的。
在适当的时候,值得将授权服务器作为访问个人身份用户数据的唯一位置,并将存储移动到那里。请参阅此 data privacy article 以了解它的一些优点。
我可以保证 Keycloak 用户存储 SPI 方法。最近为一个项目实现了这个,并且运行良好。对于任何现有的用户数据库,我强烈推荐它。
我在 github 上找到了一些示例源,您可以查看(尽管需要对 运行 进行一些修改):
https://github.com/mfandre/KeycloakSPI
我还写了一篇文章总结了我在使用 Keycloak 时的发现,以防您对其他功能感兴趣:
https://dev.to/kayesislam/keycloak-as-oidc-provider-42ip
非常可定制。
我们有自主开发的专有用户管理和自主开发的单点登录。 (那时候OpenID Connect还没有诞生)
我们的身份验证服务器和胖客户端位于专用网络中,无法访问互联网。
任务是集成第三方胖客户端 - 它的用户应该根据我们现有的身份验证服务器进行身份验证。
总体思路是使用现有的面向未来的框架,它提供标准的身份验证接口(如 Keycloak?)并实现我们自己的 OpenID Connect 身份验证提供程序(或用于 keycloack 的用户存储 SPI)。
keycloack 和用户存储 SPI 的方式值得推荐还是有更好的方法?
正如您所说,这是满足您即时需求的不错选择:
- 外部客户端使用现代 OpenID Connect 流程 - 例如用于桌面应用程序的 OIDC
- 它连接到支持基于标准端点的授权服务器
- Authorization Server 对数据源具有可扩展的支持,并且有可能接触到您现有的用户数据源
举个例子,我工作的 Curity 支持 multiple data sources and there is a free community edition 如果有用的话。
任何满足相同要求的供应商都可以 - 我听说过一些关于 Keycloak 的好消息。
长期
然后逐步更新其他应用以使用现代 OAuth 和 OIDC 行为是有意义的。
在适当的时候,值得将授权服务器作为访问个人身份用户数据的唯一位置,并将存储移动到那里。请参阅此 data privacy article 以了解它的一些优点。
我可以保证 Keycloak 用户存储 SPI 方法。最近为一个项目实现了这个,并且运行良好。对于任何现有的用户数据库,我强烈推荐它。
我在 github 上找到了一些示例源,您可以查看(尽管需要对 运行 进行一些修改): https://github.com/mfandre/KeycloakSPI
我还写了一篇文章总结了我在使用 Keycloak 时的发现,以防您对其他功能感兴趣: https://dev.to/kayesislam/keycloak-as-oidc-provider-42ip
非常可定制。