Oauth 2.0 如何添加“的概念”;“帐户”;用钥匙斗篷?

Oauth 2.0 如何添加“的概念”;“帐户”;用钥匙斗篷?,oauth-2.0,single-sign-on,keycloak,openid-connect,openid,Oauth 2.0,Single Sign On,Keycloak,Openid Connect,Openid,如何进行最佳配置,以便用户需要一个帐户,客户端才能登录到该客户端 我必须更换一个业主。它处理用户、角色和客户机的方式很像keydepeat。然而,它也知道账户用户只有在拥有客户端帐户时才允许登录该客户端。 在keydape中,如果用户仅仅存在于某个领域中,他可以登录到该领域的客户端。没有其他需要。因此,不需要“账户”。在旧的应用程序中,他也需要一个帐户。 关键斗篷中的哪些功能最适合克服这种差异? 我有一个想法: 在每个客户机名称“HasAccount”中创建一个客户机角色,并将其分配给用户。然

如何进行最佳配置,以便用户需要一个帐户,客户端才能登录到该客户端

我必须更换一个业主。它处理用户、角色和客户机的方式很像keydepeat。然而,它也知道账户用户只有在拥有客户端帐户时才允许登录该客户端。

在keydape中,如果用户仅仅存在于某个领域中,他可以登录到该领域的客户端。没有其他需要。因此,不需要“账户”。在旧的应用程序中,他也需要一个帐户。 关键斗篷中的哪些功能最适合克服这种差异?


我有一个想法:

在每个客户机名称“HasAccount”中创建一个客户机角色,并将其分配给用户。然后,如果缺少该角色,则限制访问。 这里讨论的是:“ 它至少有两个缺点:

  • 它在传统应用程序中混合了身份验证和授权。我能理解。但创造一个角色已经是一个解决办法。这就是为什么我在这里描述我最初的问题
  • 我有3种以上语言/技术的客户。在那里添加功能似乎比在KeyClope中需要做更多的工作。

最后一句话:


在你问“这不是单一登录”之前。这只是出于行政目的。管理员可以通过创建或不创建帐户来允许用户登录或不登录客户端。用户不必再次登录。如果用户登录到应用程序A并拥有应用程序B的帐户,则无需登录即可访问应用程序B。

用户只有在拥有该客户端帐户的情况下才允许登录该客户端。
实际上不是身份提供器(IdP)的任务。它只提供身份,不提供授权

当然,您可以忽略这一点,也可以实现授权。见:

从设计角度来看,我会在遗留应用程序前面添加auth反向代理(但这不是SPA应用程序的最佳解决方案)。身份验证代理将通过OIDC协议提供身份验证和授权。遗留应用程序可能保留自己的OIDC身份验证—从用户角度来看,它将是无缝身份验证,因为将使用SSO

帐户
实体-您可以在KeyClope中使用
实体,而不是原始的
帐户