【问题标题】:Keycloack - Grant access to a client to a group of usersKeycloak - 向一组用户授予对客户端的访问权限
【发布时间】:2022-10-21 17:02:39
【问题描述】:

我在一个领域创建了许多客户端。如何使用 openid 和 OAuth 2.0 仅对某些用户或组访问客户端?

谢谢

【问题讨论】:

    标签: keycloak


    【解决方案1】:

    您可以使用基于用户的授权策略。

    1. 首先,您必须启用授权启用选项 来自客户

      1. 您现在可能会看到“授权”选项卡。在此选项卡上,您可以查看以前创建的策略列表以及创建和编辑策略。要创建新策略,请从右上角的创建策略项列表中选择策略类型。
      2. 根据您的要求,您可以添加基于用户或基于组的授权策略。下面是基于用户的授权策略的屏幕截图

    【讨论】:

    • 我使用此解决方案,但是当以登录名/密码的形式出现时,我可以使用未授权连接的用户的凭据。在 keycloack 的日志中,我看到“17:56:52,456 WARN [org.keycloak.services] (default task-1) KC-SERVICES0091: Request is missing scope 'openid' 所以它不被视为 OIDC,而只是纯粹的 OAuth2 请求。”我正在使用 oauth2-keycloak PHP 库进行连接
    • 对于那些想要使用不同身份验证方法的人的旁注:授权选项仅适用于 OpenID Connect 客户端,而不适用于 SAML。
    【解决方案2】:

    Keycloak 不支持通过 AccessType 公开的组特定身份验证策略。但是如果我们将 accessType 设置为机密,那么我们会在登录时要求一个 clientSecret,我们最终会得到这个。

    KEYCLOAK: Client secret not provided in request

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-11
      • 2021-05-19
      • 2020-09-27
      相关资源
      最近更新 更多