Keycloak KeyClope流只允许授权的IDP帐户
我想设置谷歌联盟使用Key斗篷,但只为授权用户在我的公司 设置Google federation允许任何Google帐户登录 我已经查看了KeyClope上的身份验证流,但是我找不到一种方法来设置它。我可以想出几个简单的场景,我希望keydepeat能够开箱即用Keycloak KeyClope流只允许授权的IDP帐户,keycloak,idp,Keycloak,Idp,我想设置谷歌联盟使用Key斗篷,但只为授权用户在我的公司 设置Google federation允许任何Google帐户登录 我已经查看了KeyClope上的身份验证流,但是我找不到一种方法来设置它。我可以想出几个简单的场景,我希望keydepeat能够开箱即用 当有人尝试登录时,不需要自动创建帐户,而是要求已经存在具有完全相同电子邮件/用户名的帐户,并在该特定用户尝试登录时根据电子邮件链接这些帐户 当用户第一次使用Google登录时自动创建一个帐户,链接他们,但是需要管理员手动激活该帐户才能使
我错过什么了吗?除了手动创建一个帐户并为每个用户链接它(或者编写我自己的身份验证程序,我正试图避免这种情况)之外,没有其他选项了吗?您可以实现自定义表单操作。这比你想象的要容易 如果您不想编写代码,可以使用“脚本”表单操作,该操作已经可用。你可以这样做: 身份验证->在下拉列表中选择“First broker login”(第一个代理登录)->复制它(复制它允许您编辑它)。现在单击“添加执行”并选择“脚本”。将其向上移动到顶部,使其成为流程中的第一个表单动作。将单选按钮置于“必需”并转到操作->配置。现在,在脚本中,您可以检查用户名或电子邮件以匹配模式(可能是您公司的域名),如果模式匹配失败,您可以调用context.failure(..)方法,该方法已在默认脚本中可用
确保您在身份提供商配置中选择了此(新)第一个代理登录。如果您对来自单个域(例如
@yourco.com
)的人没有意见,您可以使用设置页面上的托管域
参数。特别是对于谷歌而言,至少在keydape 11.x中,谷歌和keydape都将确保用户的电子邮件地址与输入的域匹配。我不知道是否可以进入多个域
我们要做的是使用托管域选项,并授予这些新用户一个简单的角色,允许他们登录到管理面板,并对几个简单的区域具有读取权限。这使得在KeyClope中设置新帐户变得很容易,我们只需告诉用户登录,他们就可以使用基本访问权限进行设置。如果有人需要更高级的访问权限来读取私人数据,甚至写入一些数据,他们必须联系我们的ops团队,他们可能会选择授予他们在KeyClope中更多的角色
成功了吗?我在“添加执行”中没有看到“Scipt”选项。我使用的是KeyClope v7.0.0。我在哪里可以找到它?有关如何启用脚本身份验证程序,请参见以下内容: