---
order: 11
---
# 企业微信登录

为了方便用户在[企业微信](https://developer.work.weixin.qq.com/document/path/90664)上可以直接访问SuccBI页面，使用企业微信账号身份进行访问，跳过繁琐的登录操作，SuccBI提供了与企业微信做单点登录的服务。

[//]: #\(同时还支持在SuccBI的登录页面上扫描企业微信二维码登录系统。\)

需要注意：目前还没有支持通过企业微信PC端直接访问SuccBI系统。

\[\[toc]]

## 企业微信的配置方法{#wxwork-app-config}

### 添加一个企业微信自建应用{#wxwork-app-config1}

![展示应用主页](./images/qywx-example.png)

在应用主页中设置规范：`${contextPath}/api/auth/doSSOAuthRedirect?ssoid=${ssoid}&redirect_uri=${redirect_uri}`

应用主页示例：`https://demo.succbi.com/v5/api/auth/doSSOAuthRedirect?ssoid=wechat&redirect_uri=/DEMO`

- contextpath：环境部署域名 + 上下文地址
- ssoid：代表在单点登录界面中配置的企业微信单点登录方案ID
- redirect\_uri：使用企业微信登录成功后，跳转到BI访问地址。如果希望访问一个dashboard，这里需要填dashboard的元数据路径；如果期望访问BI设置的首页，可以不填，或者填 `/`；如果是其他环境地址，也可以直接填完整的url链接。

::: tip
以上参数设置都要按URL规范进行编码。
:::

### 配置网页授权及JS-SDK{#wxwork-app-config2}

在网页授权及JS-SDK中设置可信域名，即填写部署BI环境地址即可，可跟进企业微信提示内容进行操作。
![开发者接口图片](./images/qywx-example1.png)
![可信域名](./images/qywx-example2.png)

### 配置企业可信IP{#wxwork-app-config3}

在企业可信IP中设置IP，可跟进企业微信提示内容进行操作。
![企业可信IP](./images/qywx-example3.png)

::: tip
企业微信配置页面配置好后，若出现单点登录时抛出异常的情况，可以根据企业微信提供的异常代码查询小工具进行排查。[错误码排查工具](https://developer.work.weixin.qq.com/document/path/90313)。
:::

## SuccBI的配置方法{#wxwork-service-settings}

### 系统设置{#wxwork-service-settings1}

在系统设置中增加企业微信单点登录，进入**系统设置** > **安全** > **单点登录** > **单点登录方案**中添加`企业微信`服务。[基本设置参考](../../sys-settings/security/sso.md)。

![企业微信单点登录系统设置](./images/syssettings-sso-qywx.png)

- 启用：当单点登录方案暂时不可用时，为了保留设置，可以先设置为未启用状态。
- 登录方案ID（ssoid）：唯一标识。
- 登录方案标题：简要描述。

![企业微信单点登录系统设置2](./images/syssettings-sso-qywx2.png)

- Corpid：配置为企业微信的企业ID
- Corpsecret：配置为应用的凭证密钥（Secret）
- 启用扫描登录：如果要在BI的登录界面使用企业微信扫码登录，需勾选上

Corpid查询入口：<https://work.weixin.qq.com/wework_admin/frame#profile>

Corpsecret查看入口，参考下图
![密钥](./images/qywx-example4.png)

内部用户和外部用户的设置如下：

![企业微信单点登录系统设置3](./images/syssettings-sso-qywx3.png)

- 匹配用户依据1：根据指定的用户信息（如电话号码）在用户表中查找对应的用户，找到后将使用指定的用户登录系统。推荐填写 `企业微信成员ID`
- 匹配用户依据2：如果根据“匹配用户依据1”无法匹配到用户，推荐填写 `企业微信唯一ID`

::: tip
联调测试的时候，为了便于测试，建议设置不匹配时，自动创建用户。
:::

![企业微信单点登录系统设置4](./images/syssettings-sso-qywx4.png)
[外部用户](../../permission/users.md#external-users)和内部用户匹配方式分开配置，也可以同时配置两种匹配方式。

### 同步系统用户{#wxwork-service-settings2}

从企业微信中获取用户信息，同步至BI中。企业微信中为用户指定的一个用户的id，需将从企业微信用户列表中的用户信息同步到BI系统的用户表对应`企业微信成员ID`和`企业微信唯一ID`的字段中。

- [内部用户系统表](../../dev/sys-tables/README.md#users)
- [外部用户系统表](../../dev/sys-tables/README.md#user-group-members)

::: tip

1. 如果以上配置均设置成功后，仍无法正常使用单点登录功能，请检查服务器是否能访问企业微信服务器，即测试一下能否访问 https://qyapi.weixin.qq.com
2. 如果企业需要做防火墙配置，需要通过企业微信提供的接口获取到所有相关的IP段。由于IP段有变更可能，当IP段变更时，新旧IP段会同时保留一段时间。需要企业每天定时拉取IP段，更新防火墙设置，避免因IP段变更导致网络不通。详细请咨询[企业微信官方客服](https://developer.work.weixin.qq.com/document/path/90623)。
   :::
