Single sign on KeyClope-限制每个客户端/应用程序的用户访问

Single sign on KeyClope-限制每个客户端/应用程序的用户访问,single-sign-on,openid-connect,keycloak,Single Sign On,Openid Connect,Keycloak,我刚刚设置了我的第一个KeyClope服务器,在两个应用程序之间提供SSO。这些不是Java应用程序,一个与SAML-2连接,另一个与OpenIDConnect连接 因此,在Keyclope中,我有Realm-1,然后是Client-1(application1)和Client-2(application2)和user-1和user-2 现在,我希望user-1只允许访问Client-1,user-2同时允许访问Client-1和Client-2。应该足够简单 我试着阅读角色和授权,但我发现文档

我刚刚设置了我的第一个KeyClope服务器,在两个应用程序之间提供SSO。这些不是Java应用程序,一个与
SAML-2
连接,另一个与
OpenID
Connect连接

因此,在Keyclope中,我有
Realm-1
,然后是
Client-1
application1
)和
Client-2
application2
)和
user-1
user-2

现在,我希望
user-1
只允许访问
Client-1
user-2
同时允许访问
Client-1
Client-2
。应该足够简单


我试着阅读角色和授权,但我发现文档(或者只是主题)非常混乱。我一直在玩弄它,但没有成功。我希望有一个界面能够将一个组映射到一个客户端,并通过在组中添加/删除用户来限制对客户端的访问

如果您正在使用SAML:

  • 在KeyClope中创建一个新角色
  • 将此角色分配给组
  • 在KeyClope中创建新的身份验证脚本。配置登录时允许的角色(例如,
    user.hasRole(realm.getRole(“yourRoleName”))
  • 在客户端设置中,在“身份验证流覆盖”下选择创建的身份验证(从步骤3开始)

  • 如果您使用的是openid,

    如何在KeyClope中创建新的身份验证脚本?对于非SAML是否有类似的技术?说明不清楚。请使用改进的答案进行更新。仅当您设置了
    -dkeydeport.profile.feature.scripts=enabled
    -dkeydeport.profile.feature.upload_scripts=enabled