方案2:OAuth2 认证

最近更新时间:2026-06-09 19:09:00

我的收藏

1. 登录效果

类型
选择组织域
登录效果
浏览器









客户端





2. 飞书认证准备

2.1 配置飞书信息

1. 如您是首次使用,未创建企业自建应用:
1.1 未创建企业自建应用,需要创建一个企业自建应用,登录 飞书开放平台,选择企业自建应用,单击创建企业自建应用

1.2 在创建企业自建应用窗口中,配置相关参数,单击创建,即可完成创建。

2. 如您未开通飞书开发者账号:
2.1 请先前往飞书开放平台,创建一个开发者账号。
2.2 开发者后台,选择企业自建应用,单击创建企业自建应用



2.3 应用名称示例:腾讯 iOA ,应用描述:xxxx(任意说明) 。


2.2 获取 App ID 和 App Secret

1. 在企业自建应用页面,单击刚才创建的自建应用,进入应用详情页面。
2. 在凭证与基础信息页面,选择应用凭证,获取 App ID 和 App Secret。其中:飞书的 App ID 对应 iOA 控制台上的 App ID,飞书的 App Secret 对应 iOA 控制台上的 App Secret。


2.3 配置重定向 URL

1. 在凭证与基础信息页面,单击安全设置
2. 在重定向 URL 页面,输入 iOA 重定向地址:https://scs.gateway.tencent.com/akpage/sso/redirect
3. 单击添加,即可添加到重定向 URL 列表中。
注意:
OAuth 2.0 认证方案的飞书认证准备步骤中,其他步骤都与飞书认证方案一样,唯有重定向 URL 与飞书认证方案的重定向 URL 不同。


2.4 配置权限管理

说明:
飞书权限管理支持批量导入权限手动开通权限推荐批量导入权限

2.4.1 批量导入权限

1. 权限管理 页面,单击批量导入/导出权限

2. 在批量导入/导出权限弹窗中,输入如下 JSON,单击下一步,确认新增权限

{
"scopes": {
"tenant": [
"contact:contact.base:readonly",
"contact:department.base:readonly",
"contact:department.organize:readonly",
"contact:group:readonly",
"contact:user.base:readonly",
"contact:user.department:readonly",
"contact:user.email:readonly",
"contact:user.employee_id:readonly",
"contact:user.id:readonly",
"contact:user.phone:readonly",
"corehr:department.organize:read",
"tenant:tenant:readonly"
],
"user": [
"contact:contact.base:readonly",
"contact:department.base:readonly",
"contact:department.organize:readonly",
"contact:user.base:readonly",
"contact:user.department:readonly",
"contact:user.department_path:readonly",
"contact:user.email:readonly",
"contact:user.employee_id:readonly",
"contact:user.id:readonly",
"contact:user.phone:readonly"
]
}
}


3. 在确认导入权限弹窗中,单击申请开通


2.4.2 手动开通权限

1. 在权限管理页面,单击开通权限,选择该应用所需的权限,建议优先使用英文版查询:
注意:
以下权限均需开通,如果权限未全部开通,则可能出现配置类型的报错信息。
权限管理 > 开通权限中,查询的权限如果存在应用身份权限和用户身份权限,则都需勾选。
示例:查询 contact:user.base:readonly,查询后在应用身份权限和用户身份权限中都存在 contact:user.base:readonly,则都需开通权限。

英文权限名称
中文权限名称
contact:user.department_path:readonly
获取成员所在部门路径
contact:user.base:readonly
获取用户基本信息
contact:contact.base:readonly
获取通讯录基本信息
contact:department.organize:readonly
获取通讯录部门组织架构信息
contact:department.base:readonly
获取部门基础信息
corehr:department.organize:read
获取部门组织架构信息
contact:group:readonly
获取用户组信息
contact:user.department:readonly
获取用户组织架构信息
contact:user.email:readonly
获取用户邮箱信息
contact:user.employee_id:readonly
获取用户 user ID
contact:user.id:readonly
通过手机号或邮箱获取用户 ID
contact:user.phone:readonly
获取用户手机号
tenant:tenant:readonly
获取企业信息
2. 选中目标权限后,单击操作列中的确认开通权限,即可为该应用选中所需权限
说明:
配置权限后,需要重新发布应用才能生效。

2.5 发布应用

1. 在权限管理页面,单击版本管理与发布
2. 在版本管理与发布页面,单击右上角的创建版本

3. 在版本详情页面,填写应用版本号(格式如 1.0.0)和更新说明,设置可用性状态,单击保存
注意:
可用范围:选择所有员工。

4. 保存完成后,单击申请线上发布

说明:
提交申请后,企业管理员会进行审核。
审核结果会通过飞书和开发者后台发送给您。   

2.6 应用审核(如无需审核,请跳过)

1. 应用审核页面,选择目标应用,单击审核。

2. 在审核详情页面,单击通过


2.7 开启飞书移动应用登录功能(选配)

1. 登录 飞书开放平台,选择企业自建应用,并单击需要开启移动登录功能的自建应用



2. 在应用详情页面,单击添加应用能力 > 按能力添加
3. 找到移动应用登录,单击添加。

4. 在移动应用登录页面,配置相关参数,单击保存

参数类型
参数名称
参数详情
备注
用户登录协议
OAuth 2.0
建议默认选择 OAuth 2.0。
-
OIDC
建议默认选择 OAuth 2.0。
-
应用类型
iOS 应用
iOS Bundle ID:正式版 com.tencent.ioa.saas;其他体验版或测试请联系
腾讯项目对接人。
如不需要移动端授权,无需填写
Android 应用
正式版是固定的,其他体验版或测试请联系
腾讯项目对接人。
Android 包名称:com.tencent.ioa.saas
Android 签名:9e4e6594cd64562c6ae8e3ae0288dd5a

2.8 开启邮箱/手机号账号身份关联功能(选配)

说明:
如果需要开启手机验证码邮箱验证码作为二次认证/挑战认证的实例,则建议从飞书同步字段时,开通手机号或邮箱的同步权限。在 iOA 控制台添加短信验证码邮箱验证码时,将通过飞书同步过来的手机号/邮箱作为字段映射和身份认证的依据。
1. 登录 飞书开放平台,选择企业自建应用,并单击目标自建应用
2. 在应用详情页面,单击权限管理,下滑至权限配置。
3. 在权限配置模块,分别开启以下两个功能:
开启手机号账号身份关联功能:搜索获取用户手机号,单击开通权限

开启邮箱账号身份关联功能:搜索获取用户邮箱信息,单击开通权限

4. 配置上述权限后,需要重新 发布应用版本 才能生效。

3. iOA 控制台配置

3.1 新建目录

1. 登录 iOA 零信任管理平台控制台,在左侧导览中,单击员工与身份管理 > 组织架构管理
2. 在组织架构管理页面,单击新增组织架构

3. 在新增组织架构页面,导入类型选择飞书,单击下一步



4. 在新增目录页面,输入 App ID 、 App Secret 等参数。

参数名称
说明
类型
飞书。
名称
自定义名称(该名称方便后续在组织架构源列表中快速找到)。
App ID
获取方式请参见 App ID 和 App Secret
App Secret
获取方式请参见 App ID 和 App Secret
自动更新组织架构
自定义设置拉取最新组织架构的周期。
测试连通性
输入 App ID、App Secret 后可进行连通性测试,会同时检查基础配置是否有效。
客户端登录展示
配置是否在 iOA 客户端登录页展示飞书组织架构入口。
开启:iOA 客户端登录页展示飞书登录项,用户可使用钉钉登录。
关闭:iOA 客户端登录页不展示飞书登录项,用户无法使用钉钉登录。
同步架构节点
支持基于部门 ID 按需同步组织架构,单击添加,支持选择需要同步的部门,逐层实时查询展开,无需同步全量组织架构。
根部门 ID:如果只需要特定部门,请输入正确的部门 ID。如无必要,请勿修改,配置已经正常同步数据的情况下,随意变更可能会导致数据异常。
部门层级补全:单击

开启,开启后系统自动补全所选部门的所有上级部门层级,关闭则仅将同步的部门挂载至根节点下。
用户属性字段映射
如无特殊需求,请勿修改。
其中字段如果不映射,将会用系统定义的状态,其中0 表示用户异常状态,1 表示用户正常状态。
映射支持三种数据类型,且必须填写正常状态的值:
1. 对于 Bool 类型和 String 类型,相同的值会关联到状态 1,不相同的统一到 0;
2. 对于 Int 类型,相同的值会关联到状态 1,其他值会默认保留。
属性映射中,若映射字段不存在或不想同步相应字段,则输入任意不存在的属性名即可,同步时会将对应属性置为空。
5. 单击测试连通性,测试通过后单击下一步并保存

3.2 配置认证源

1. 登录 iOA 零信任管理平台控制台,在左侧导览中,单击身份安全管控 > 认证源配置
2. 在认证源配置页面,单击新增认证源实例



3. 在新增认证源实例页面,类型选择 OAuth2



参数名称
说明
类型
OAuth2。
认证方式
默认 SSO 认证。
名称
自定义填写认证源实例名称。
客户端登录标题
自定义。
客户端登录标题(英文)
自定义。
客户端登录提示
自定义。
客户端登录提示(英文)
自定义。
客户端 ID
为飞书的 App ID,详情请参见:2.2 获取 App ID 和 App Secret
客户端 Secret
为飞书的 App Secret,详情请参见:2.2 获取 App ID 和 App Secret
登出地址
可不填,如果填写,可支持从 iOA 跳到浏览器清理登录态能力。识别方式:URL 以 logout 结尾。
使用系统浏览器
建议关闭。
如果开启,则会跳到系统浏览器认证,可以共享已经 SSO 登录的状态;
如果关闭,全程在 iOA 内完成 SSO 认证。
专线分组
使用专线组访问服务接口,自行选择专线分组。
3.1 获取 code :
请求地址:https://open.feishu.cn/open-apis/authen/v1/index 。
请求体格式:无请求体。
请求参数:请求 URL 参数。
字段(key )
值(value )
app_id 
[client_id] 
redirect_uri 
[redirect_uri] 
state 
[state] 

3.2 获取 access token:
请求地址:open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal。
请求体格式:JSON。
请求 Body 参数配置如图。
字段(Key )
值(Value )
app_id 
[client_id] 
app_secret 
[client_secret] 
Response 错误路径:msg。
Access token 路径:tenant_access_token。

3.3 获取用户信息 :
请求地址:https://open.feishu.cn/open-apis/authen/v1/access_token。
请求头配置 :
字段(key )
值(value )
Authorization 
Bearer [access_token] 

请求体配置 :
字段(Key )
值(Value )
grant_type 
authorization_code 
code 
[code] 

response 错误路径:msg。
用户 ID 路径:data.user_id。
用户头像路径:选填/自定义。
4.配置完成单击保存