SSO 第三方登录
单点登录(SSO)允许用户一次登录即可访问多个系统,而无需重新输入凭据。它通过消除对多个密码的需求,提高了效率,增强了用户体验,并加强了安全性。
在API7 Enterprise中,你可以同时使用多种登录选项。你可以在API7内部创建用户,同时也可以从其他现有系统中导入用户。
架构原理
以 LDAP 为例:
- 用户登录请求:用户在登录 API7 企业版时输入他们的用户名和密码。
- LDAP验证:API7 企业版将用户提供的凭据传输到 LDAP 服务器进行验证。LDAP 服务器是一个集中的用户信息管理系统,存储了用户的用户名、密码以及其他相关信息。
- 身份验证:LDAP 服务器验证用户的凭据是否与 LDAP 目录中存储的用户信息匹配。如果用户名和密码与 LDAP 服务器中的记录相匹配,那么身份验证就成功了。
- 授权:如果身份验证成功,LDAP 服务器将授权信息返回给 API7 企业版。系统基于这些信息授权用户访问相应的资源。这通常涉及到角色和权限的分配,确保用户只能访问他们被授权访问的资源。
- 访问资源:用户以经过验证的身份访问API7 企业版,无需重新输入凭据。
前提条件
- 获取一个具有超级管理员角色的用户账户。
集成 SSO
API7 企业版支持以下实现的单点登录(SSO)。将 API7 企业版与其他用户系统集成后,你可以让现有用户登录 API7 企业版,而无需注册新的 API7 帐户。
- LDAP
- OIDC
- 在顶部导航栏中,选择组织,然后选择设置。
- 单击新增登录选项。
- 填写新增登录选项表单:
- 名称:唯一的登录名称,必须让用户容易识别。例如
员工账户
。 - 提供者:选择
LDAP
。 - 主机名:LDAP 的主机域名。例如
ldap.example.com
。 - 端口:例如
1563
。 - 基本专有名称:例如
oc=users,dc=org,dc=example
。 - 绑定专有名称:LDAP 绑定的 DN,用来实现 LDAP 用户搜索。 应该被授予必要的嗖嗖权限。例如
cn=admin,dc=org,dc=example
。 - 绑定密码:和绑定专有名称一起,用于向 LDAP 服务器进行身份认证。
- 标识符:用在 LDAP 中识别用户的属性。例如
cn
。 - 属性映射: 将 API7 企业版中字段映射到 LDAP 系统中用于无缝集成和同步数据。
- 名称:唯一的登录名称,必须让用户容易识别。例如
- 单击新增。
- 在顶部导航栏中,选择组织,然后选择设置。
- 单击新增登录选项。
- 填写新增登录选项表单:
- 名称:唯一的登录名称,必须让用户容易识别。例如
员工账户
。 - 提供者:选择
OIDC
。 - 发行方:OpenID connect提供方的标识符。例如
https://accounts.example.com
. - 客户端 ID:由 OIDC 签发的,属于你的应用的唯一标识符。例如
API7
。 - 客户端密钥:用于和 OIDC 提供者进行身份认证的密钥。
- 请求范围:访问令牌通常受请求范围的限制。例如
profile,email
。 - 根地址:用于访问 API7 企业版用来生成回地址。例如
https://auth.example.com/oidc
。 - SSL 验证:默认开启。
- 名称:唯一的登录名称,必须让用户容易识别。例如
- 单击新增。
用 SSO 登录
一旦配置了登录选项,外部用户将能够直接登录到 API7 企业版控制台,而无需进行注册。
请按照以下步骤操作:
- 访问位于 http://localhost:7080 的 API7 企业版控制台。
- 从登录选项名称中选择,例如
使用员工帐户登录
。 - 输入用户名和密码。
- 点击登录。
删除导入的用户
如果你在用户中删除了使用 SSO 登录选项的用户,这仅仅意味着该用户将失去其所有角色。但是,他们仍然可以作为新用户登录到 API7 企业版控制台。要完全阻止他们访问 API7 企业版控制台,你必须从来源的用户系统中删除他们。
如果你希望完全阻止某个用户访问 API7 企业版,需要在身份提供系统中删除或禁用该用户的帐户。这样,当该用户尝试通过 SSO 登录 API7 企业版时,身份提供商将不会验证他们的身份,从而阻止他们访问系统。
为导入的用户分配角色
所有被导入的新用户会默认授予观察者角色,直到超级管理员 为他们分配其他角色.
删除登录选项
危险
删除一个登录选项会同时删除所有使用这个登录选项导入的用户。
- 在顶部导航栏中,选择组织,然后选择用户。
- 检查是否还有用户正在使用此登录选项。如果有,请先通知他们。
- 在顶部导航栏中,选择组织,然后选择设置。
- 单击目标登录选项的删除。
- 二次确认。