---
order: 1
---
# 单点登录

SuccBI提供了多种单点登录的配置方案以支持与第三方系统作集成，以方便通过简单的配置达到目的。系统内置有以下几种配置：

- [微信公众号授权登录](../../devops/sso/wechat.md)
- [微信小程序授权登录](../../devops/sso/wechat-miniprogram.md)
- [钉钉授权登录](../../devops/sso/dingtalk.md)
- [OAuth2服务](../../devops/sso/oauth2.md)
- [CAS服务](../../devops/sso/cas.md)

若是内置的单点登录方式都不能满足条件，还可以通过单点登录的扩展方式进行简单的开发，实现任意单点登录需求：

- [扩展服务](../../dev/extension/extension-points/sso.md)

![单点登录设置界面](./images/sso-settings.png)

## 登录设置{#login-conf}

- **默认登录方式**：用于设置当用户访问需要登录才能查看的资源时，系统默认跳转到的单点登录方式。\
  示例：如果这时候选中了一种单点登录方式，比如说一种[OAuth2服务](../../devops/sso/oauth2.md)单点登录方式，\
  未登录的情况下期望访问 <https://demo.succbi.com/v5>，常规情况下会跳转到OAuth2服务的授权URL去获取OAuth2服务的认证。
- **扫码登录静默授权**：启用后，手机扫码登录时将自动进行授权，不再提示确认授权登录的页面。
- **二维码提示**：系统登录界面在展示二维码时给出的提示。

## 单点登录方案{#sso-type}

SuccBI支持同时配置多种单点登录方案，也支持同时配置多个同类型的单点登录方式，以满足如内网外网使用不同的登录方式，或者是让用户在登录页面有多种方式选择来进行登录。

### 通用设置{#common-settings}

通用设置包括如下几个方面：

1. 单点基本设置：\
   ![用户匹配设置](./images/sso-settings-basic.png)
   1. 启用：但单点登录方案暂时不可用时，为了保留设置，可以先设置为`未启用`状态。
   2. 登录方案ID（ssoid）：唯一标识。
   3. 登录方案标题：对单点登录的简要描述。
   4. 登录方案描述：详细描述。
2. 用户匹配与不匹配时的策略：\
   ![用户匹配设置](./images/sso-settings-user.png)
   1. [内部用户和外部用户](../../permission/users.md#external-users)的匹配方式分开配置，也可以同时配置两种匹配方式。在检测时候也会先尝试使用内部用户匹配规则进行匹配，然后才使用外部用户规则进行匹配，并且如果都没有匹配到，这再依判断内部用户规则和外部用户规则，是否需要创建用户。
   2. **用户匹配依据1**：用于根据从单点登录方案提供者获取到的用户信息，在系统中查找与之匹配的用户的首要字段
   3. **用户匹配依据2**：用于根据从单点登录方案提供者获取到的用户信息，在系统中查找与之匹配的用户的次要字段，如果从首要字段没有查找到，但是通过次要字段查找到了，将会更新这个用户的首要字段对应的数据为最新获取到的数据。
   4. **昵称字段**：用于在个人中心判断是否有绑定第三方系统账号的时候展示。
   5. **不匹配时**：根据**用户匹配依据1**和**用户匹配依据2**都没有匹配到用户时的策略：
      - 拒接登录：展示界面通知改用户没有权限登录SuccBI。
      - 创建用户：根据获取到的用户信息，在SuccBI对应用户目录（内部用户或者外部用户）中创建一个用户，并使用这个新创建的用户登录到系统中。
      - 发起注册流程：待完善，现在与拒绝登录效果一致。

### 登录实现方案具体设置{#sso-detail}

位于对话框设置栏的第二栏，不同的方式有不同的设置，详细信息请参考：

- [OAuth2服务](../../devops/sso/oauth2.md)
- [微信小程序/微信公众号授权登录](../../devops/sso/wechat.md)
- [钉钉授权登录](../../devops/sso/dingtalk.md)
- [CAS服务](../../devops/sso/cas.md)
