方案2:OAuth2 认证

最近更新时间:2024-11-12 17:03:52

我的收藏


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 和 AppSecret。其中:飞书的 App ID 对应 iOA 控制台上的 App ID,飞书的 App Secret 对应 iOA 控制台的 App Secret。


2.3 配置重定向 URL

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


2.4 配置权限管理

1. 在安全设置页面,单击权限管理,选择该应用所需的权限,建议优先使用英文版查询:
英文权限名称
中文权限名称
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. 在移动应用登录页面,配置相关参数,单击保存

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

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

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

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

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

3. iOA 控制台配置

3.1 新建目录

1. 登录 iOA 零信任管理平台控制台,在左侧导览中,单击管理中心 > 用户与授权管理
2. 在用户与授权管理页面,单击新建
3. 在新增目录页面,输入名称和描述,是否导入架构选择,导入类型选择飞书,单击下一步



4. 在新增目录页面,输入 App ID 和 App Secret,以及其他参数。

5. 单击测试,测试通过后检查根部门 ID 与应用可见范围是否一致,核对无误后单击保存
说明:
根部门 ID为0时,则代表根部门 ID 与可见范围一致,都是所有员工。
当应用可见范围同步指定部门时,需核对根部门 ID 与指定可见范围是否一致。

6. 在用户与授权管理页面,找到刚刚创建的目录,单击用户同步,即可同步组织架构。




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 获取 AccessToken :
请求地址: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。
AccessToken 路径: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.配置完成单击保存