跳到主要内容
版本:3.2.16.3

SSO 第三方登录

单点登录(SSO)允许用户一次登录即可访问多个系统,而无需重新输入凭据。它通过消除对多个密码的需求,提高了效率,增强了用户体验,并加强了安全性。

在 API7 企业版中,你可以同时使用多种登录选项。你可以在 API7 内部创建用户,同时也可以从其他现有系统中导入用户。

架构原理

以 LDAP 为例:

Architecture of LDAP

  1. 用户登录请求:用户在登录 API7 企业版时输入他们的用户名和密码。
  2. LDAP验证:API7 企业版将用户提供的凭据传输到 LDAP 服务器进行验证。LDAP 服务器是一个集中的用户信息管理系统,存储了用户的用户名、密码以及其他相关信息。
  3. 身份验证:LDAP 服务器验证用户的凭据是否与 LDAP 目录中存储的用户信息匹配。如果用户名和密码与 LDAP 服务器中的记录相匹配,那么身份验证就成功了。
  4. 授权:如果身份验证成功,LDAP 服务器将授权信息返回给 API7 企业版。系统基于这些信息授权用户访问相应的资源。这通常涉及到角色和权限的分配,确保用户只能访问他们被授权访问的资源。
  5. 访问资源:用户以经过验证的身份访问API7 企业版,无需重新输入凭据。

集成 SSO

API7 企业版支持以下实现的单点登录(SSO)。将 API7 企业版与其他用户系统集成后,你可以让现有用户登录 API7 企业版,而无需注册新的 API7 帐户。

  1. 从顶部导航栏中选择 组织,然后选择 设置
  2. 点击 新增登录选项
  3. 填写表单:
  • 名称:唯一的登录名称,必须与用户相同。例如:Employee Account
  • Provider:选择 LDAP
  • Host:LDAP 主机域名。例如,ldap.example.com
  • Port:例如,1563
  • Base Distinguished Name:例如,oc=users,dc=org,dc=example
  • Bind Distinguished Name:用于执行 LDAP 搜索用户的 LDAP Bind Distinguished Name (DN)。此 LDAP Bind DN 应具有搜索被身份验证用户的权限。例如,cn=admin,dc=org,dc=example
  • Bind Password:用于 LDAP 服务器身份验证的 LDAP 绑定密码。
  • Identifier:用于标识 LDAP 用户的属性。例如,cn
  • Attributes Mapping:将 API7 内部字段映射到相关的 LDAP 属性,以无缝集成和同步数据。
  1. 点击 新增

用 SSO 登录

一旦配置了登录选项,外部用户将能够直接登录到 API7 企业版控制台,而无需进行注册。

请按照以下步骤操作:

  1. 访问位于 http://localhost:7080 的 API7 企业版控制台。
  2. 从登录选项名称中选择,例如使用员工帐户登录
  3. 输入用户名和密码。
  4. 点击登录。

删除导入的用户

如果你在 用户 中删除了使用 SSO 登录选项的用户,这仅仅意味着该用户将失去其所有角色。但是,他们仍然可以作为新用户登录到 API7 企业版控制台。要完全阻止他们访问 API7 企业版控制台,你必须从来源的用户系统中删除他们。

如果你希望完全阻止某个用户访问 API7 企业版,需要在身份提供系统中删除或禁用该用户的帐户。这样,当该用户尝试通过 SSO 登录 API7 企业版时,身份提供商将不会验证他们的身份,从而阻止他们访问系统。

从身份提供商同步用户数据

SCIM(系统跨域身份管理)是一种协议,可用于将用户和组信息从原始身份提供商(IdP)同步到 API7 企业版。这样就无需在多个系统中重复创建和管理用户,从而节省时间并降低出错风险。

通过 SCIM 用户同步,只要在你的 IdP 中注册或删除新用户,API7 企业版就会自动同步用户数据。

  1. 在顶部导航栏中,选择 组织,然后选择 设置
  2. 点击 SCIM 配置启用 按钮。
  3. 复制 API7 SCIM 端点 URLSCIM 令牌
  4. 到身份提供商的设置页面进行配置(如果支持 SCIM):
  • 登录到身份提供商管理控制台。
  • 找到 SCIM 配置设置(这些可能因你的 IdP 而异)。
  • 将复制的 API7 SCIM 端点 URLSCIM 令牌粘贴到相应的字段中。
  • 保存配置更改并在身份提供商端进行配置。

为导入的用户分配角色

手动更新角色

请参阅如何更新用户角色

设置角色映射

导入的用户会根据其原始系统中的相关属性(头衔、职位、部门等)自动分配角色。这些角色会在用户登录时同步和刷新,以实现无缝访问。角色映射可以包含多个规则,这些规则共同决定用户的角色和访问权限。

信息

角色映射优先于手动角色分配。当角色映射启用时,对用户角色的任何手动调整都将在下次用户登录时被覆盖。

  1. 在顶部导航栏中,选择 组织,然后选择设置
  2. 选择要设置的登录选项,点击名称进入。例如,员工账户
  3. 点击 角色映射启用按钮。
  4. 填写表单:
  • *内部角色: 例如,超级管理员
  • 角色属性: 在身份提供商系统中的字段名称,例如,Position.
  • 运算符: 例如,=.
  • 角色值: 例如,研发组长.
  1. 点击 开启.

现在,通过 员工账户 登录,且在原始系统中职位为研发组长 (Position = 研发组长) 的所有用户将自动获得 超级管理员 角色。

值得注意的是,这种角色映射是动态的。如果用户的职位在身份提供商中发生变化,例如从“研发组长”变为“团队成员”,那么他们下次登录 API7 企业版时,角色将自动更新。

设置权限边界映射

导入的用户会根据其原始系统(职称、职位、部门等)中的相关属性自动分配权限边界。这些权限边界会在登录时同步和刷新,以实现无缝访问。 登录选项的权限边界映射可以涉及多个规则,这些规则协同工作以确定用户访问权限。

备注

权限边界映射优先于手动权限边界修改。当权限边界映射启用时,对用户权限边界的任何手动调整都将在下次用户登录时被覆盖。

  1. 从顶部导航栏中选择 组织,然后选择 设置
  2. 通过点击其名称来选择登录选项。
  3. 点击 权限边界映射启用
  4. 填写表单:
  • 权限策略:例如 禁止许可证操作
  • 权限边界属性:例如 职位
  • 操作:例如 =
  • 权限边界值:例如 团队成员
  1. 点击 启用

现在,即使分配了 超级管理员 角色,所有来自 IdP 的 职位 = 团队成员 的用户都将受到 禁止许可证操作 策略的限制。

请注意,此权限边界映射是动态的。如果用户的职位在身份提供商中发生变化,例如从 团队成员 变为 团队领导,那么他们下次登录 API7 企业版时,他们的权限边界将自动更新。

删除登录选项

危险

删除一个登录选项会同时删除所有使用这个登录选项导入的用户。

  1. 在顶部导航栏中,选择组织,然后选择用户
  2. 检查是否还有用户正在使用此登录选项。如果有,请先通知他们。
  3. 在顶部导航栏中,选择组织,然后选择设置
  4. 单击目标登录选项的删除
  5. 二次确认。

相关阅读