成员与权限
Microsoft 365 / Teams 登录集成
导入 Microsoft 365 企业员工,让他们从 Teams 免登 AskTable。
Microsoft 365 / Teams 集成让已导入的员工在 Teams 中打开 AskTable 个人应用时,用企业身份直接登录。只有已导入、账号和组织成员状态正常的员工可以登录,首次登录不会创建账号。
由组织 Owner 或 Admin 在 AskTable 中配置,另需 Microsoft 365 企业管理员在 Entra 和 Teams 中完成设置。入口:「个人设置」→「登录集成」→「Microsoft 365 / Teams」。
适用范围
- 只支持 Microsoft 365 全球商业云(
login.microsoftonline.com与graph.microsoft.com),不支持世纪互联和政府云租户。 - AskTable 需要使用员工能访问的 HTTPS 域名,后端需要能访问上述微软接口。
- 只能在 Teams 桌面端、网页端和移动端中使用,不提供普通浏览器的 Microsoft 登录入口。
- 只导入已启用的 Member 员工,不导入来宾和个人微软账号。
步骤
注册 Entra 应用
在 Microsoft Entra 管理中心的「应用注册」中创建单租户应用,记下「目录(租户)ID」和「应用程序(客户端)ID」。
在「证书和密码」中创建客户端密码,保存密码的「值」(不是密码 ID)。密码到期或轮换后,需要回到 AskTable 更新。
授权读取员工目录
在「API 权限 → 添加权限 → Microsoft Graph → 应用程序权限」中添加 User.Read.All,由企业管理员「授予管理员同意」。
AskTable 只读取员工的对象 ID、显示名、启用状态和用户类型,不读取手机号,也不按邮箱合并账号。导入哪些员工仍由管理员逐个选择。
在 AskTable 启用
点「启用」,填写 Tenant ID、Client ID 和 Client Secret。启用不会验证微软凭据,也不会自动导入员工。
配置 Teams 单点登录
在 Entra 应用的「公开 API」中:
- 设置 AskTable 详情页显示的 Application ID URI(格式为
api://你的AskTable域名/客户端ID)。 - 添加委托范围
access_as_user。 - 在应用清单中把
api.requestedAccessTokenVersion设为2。 - 为
access_as_user预授权 Teams 客户端:桌面与移动端1fec8e78-bce4-4aaf-ab1b-5451cc387264,网页端5e3ce6c0-2b1f-4285-8d4b-75ee78787346。
具体界面见微软 Teams SSO 应用注册文档。
创建 Teams 个人应用
在 Teams Developer Portal 创建个人应用,添加「个人范围的静态标签页」:
- 内容地址:AskTable 详情页的完整「应用首页地址」。Cloud 地址中的
org_id不能删除;私有部署有路径前缀时也要完整保留。 - 有效域名:AskTable 的主机名。
- SSO:填写相同的 Client ID 和 Application ID URI。
发布到企业,并按企业策略批准和分配应用。如果部署的反向代理禁止页面被 iframe 嵌入,需要允许 Teams 加载 AskTable。
导入员工并验证
回到 AskTable 点「导入成员」,选择员工提交。用已导入的员工从 Teams 打开个人应用,确认进入正确的组织。企业策略可能要求授权或多因素验证,首次打开时不一定完全无提示。
Tenant ID 保存后不能直接修改,更换企业前先断开集成。断开后账号、成员和历史保留,但该组织的 Teams 登录立即失效。通用规则见企业集成登录。导入后还需分配项目角色和数据权限。
常见问题
| 现象 | 检查 |
|---|---|
| 读取员工目录失败 | Tenant ID、Client ID、密码的值和有效期;User.Read.All 应用程序权限和管理员同意 |
| Teams 中授权失败 | 内容地址、有效域名、Application ID URI、预授权的客户端 ID、访问令牌版本 |
| 身份已验证但无法进入 | 员工是否已导入,账号和组织成员是否正常 |