跳到主要内容
版本:3.2.13.0

SSO 第三方登录

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

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

架构原理

以 LDAP 为例:

Architecture of LDAP

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

前提条件

  1. 获取一个具有超级管理员角色的用户账户。

集成 SSO

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

  1. 在顶部导航栏中,选择组织,然后选择设置
  2. 单击新增登录选项
  3. 填写新增登录选项表单:
    1. 名称:唯一的登录名称,必须让用户容易识别。例如员工账户
    2. 提供者:选择LDAP
    3. 主机名:LDAP 的主机域名。例如ldap.example.com
    4. 端口:例如1563
    5. 基本专有名称:例如oc=users,dc=org,dc=example
    6. 绑定专有名称:LDAP 绑定的 DN,用来实现 LDAP 用户搜索。 应该被授予必要的嗖嗖权限。例如cn=admin,dc=org,dc=example
    7. 绑定密码:和绑定专有名称一起,用于向 LDAP 服务器进行身份认证。
    8. 标识符:用在 LDAP 中识别用户的属性。例如cn
    9. 属性映射: 将 API7 企业版中字段映射到 LDAP 系统中用于无缝集成和同步数据。
  4. 单击新增

用 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.
    • 运算符: 例如, =.
    • 角色值: 例如,研发组长.
  5. 点击 开启.

现在,通过员工账户 登陆,且在原始系统中职位为研发组长 (Position = 研发组长) 的所有用户将自动获得 超级管理员 角色,而其他用户将保持默认的 观察者角色,因为他们不满足分配角色的规则。

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

删除登录选项

危险

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

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