# 连接企业微信

配置企业微信登录与成员导入。

连接后，企业成员可以从组织专属链接登录 AskTable。AskTable 只会导入自建应用可见范围内的成员。

## 前置条件

- 你是 AskTable 当前组织的 Owner 或 Admin；
- 你可以登录 [企业微信管理后台](https://work.weixin.qq.com/wework_admin/frame) 并创建自建应用；
- AskTable 的登录地址可以被成员浏览器访问。私有部署应使用企业平台允许、且成员浏览器可访问的 HTTPS 地址。

截图用于说明字段位置；企业平台的界面可能调整，请以实际后台为准。

## 1. 创建自建应用

在企业微信管理后台进入 **应用管理 → 自建 → 创建应用**，填写应用名称、介绍和图标。

创建后，在应用详情页完成两项设置：

1. 在 **可见范围** 中选择允许登录 AskTable 的部门和成员；
2. 保持应用启用，并设置至少一名应用负责人。

![企业微信自建应用详情页中的 AgentID、Secret、可见范围和应用主页](https://docs.asktable.com/img/organization/identity-integrations/wecom-credentials.png)

**Warning**

AskTable 查询导入候选时以这里的可见范围为准。范围过小会导致目标成员不可选；范围过大会显示更多候选，但不会自动导入。

## 2. 取得三个凭据

准备以下信息：

| AskTable 字段 | 企业微信中的位置                 |
| ----------- | ------------------------ |
| **CorpID**  | **我的企业 → 企业信息 → 企业 ID**  |
| **AgentID** | 自建应用详情页的 **AgentId**     |
| **Secret**  | 自建应用详情页的 **Secret → 查看** |

Secret 是敏感凭据，只应保存在 AskTable 配置中。若在企业微信重置 Secret，必须回到 AskTable 更新配置。

## 3. 在 AskTable 启用集成

进入 **个人资料 → 组织 → 企业集成 → 企业微信**，阅读介绍后点击 **启用**。在弹窗中填写 CorpID、AgentID 和 Secret，然后点击 **启用**。

**Note**

启用只保存配置，不会立即验证凭据，也不会自动导入成员。保存成功后，页面下方的地址、导入和编辑操作才会启用。

## 4. 配置应用主页和授权域名

启用后，在 AskTable 的 **登录地址** 区复制 **回调地址**。回到企业微信自建应用详情页，点击 **应用主页 → 设置**，选择 **网页**，把完整回调地址填入 **网页地址**。

![企业微信设置工作台应用主页网页地址的弹窗](https://docs.asktable.com/img/organization/identity-integrations/wecom-login-url.png)

如果企业微信后台要求配置 **网页授权及 JS-SDK** 的可信域名或授权回调域，请使用 AskTable 回调地址中的域名，不要带协议和路径。例如回调地址是 `https://example.com/login/sso/wecom`，则域名填写 `example.com`。Cloud 地址还会附带 `?org_id=...`，但域名填写方式相同。

## 5. 选择导入成员

回到 AskTable，点击 **导入成员**。在弹窗中搜索、筛选并勾选需要导入的人；页面会提示剩余名额，提交成功后显示新增和已存在人数。

- 新成员以 Member 角色加入组织；
- 已存在成员的角色不会改变；
- 上游删除成员不会自动停用 AskTable 成员；
- 已停用的 AskTable 成员不会被同步操作自动恢复。

如需调整候选范围，先修改企业微信自建应用的 **可见范围**，再重新打开导入弹窗。

## 6. 验证登录

1. 确认测试成员在应用可见范围内，并已成功导入；
2. 在企业微信工作台打开该自建应用，或在成员浏览器打开 AskTable 回调地址；
3. 完成企业微信授权后，确认进入正确的 AskTable 组织。

首次企业登录不会自动创建成员。测试成员必须已经导入，并且 AskTable 用户和组织成员状态都正常。

## 排障

### 候选查询或导入失败

- 核对 CorpID 和 Secret 是否来自同一个企业；
- 确认 Secret 没有被重置；
- 检查自建应用的可见范围是否包含目标部门或成员；
- 检查企业微信后台是否限制了调用 API 的可信 IP；若已限制，需要加入 AskTable 部署的出口 IP。

### 打开应用主页后无法授权

- 确认应用主页使用 AskTable 页面复制出的完整回调地址；
- 确认可信域名与回调地址的域名一致；
- 确认应用已启用，且测试成员在可见范围内；
- Local 必须使用页面显示的无参地址；Cloud 地址中的 `org_id` 不能删除或修改。

### 更换企业

CorpID 启用后不能直接修改。请先在详情页断开集成，再用新企业的凭据重新启用。断开不会删除已有用户、组织成员或项目数据。

更多身份范围和断开规则见 [企业集成登录](https://docs.asktable.com/organization/enterprise-login)。

导入后还需分配项目角色和数据访问范围，见[邀请成员](https://docs.asktable.com/organization/invitations)与[设置数据访问范围](https://docs.asktable.com/permissions)。
