我们有一个由自定义用户存储提供程序支持的Keycloak领域。该提供程序后面的身份存储是旧式的,我们不太可能用keycloak的内部存储代替它。
我们使用“授权代码授予”和keycloak-spring-security适配器将其非常有效地用于我们的Web应用程序。我们使用协议映射器将身份存储中的其他声明添加到访问令牌。这都是我们的旧版授权方案的一部分。这一切都很好。
现在,我们希望向合作伙伴/客户公开我们的API集,以供他们在应用程序中使用。我们希望通过一个简单的“客户凭证授予”和一个服务帐户向合作伙伴提供访问权限。我可以轻松设置它,但是,我们需要将此服务帐户绑定到身份存储中的一个用户,并承担相关的索赔。
这可能吗?
---编辑---
我考虑过使用“资源所有者密码凭据授予”,但是我希望该客户端可以访问由客户端机密授权的单个服务帐户。我不需要其他密码凭据,也不想维护密码服务帐户政策。
我们没有与合作伙伴一起实施用户联合计划的计划,我们不能假设我们的合作伙伴会将其用于交互式,用户驱动的应用程序。