帮你快速理解、总结文档立即下载

配置 OAuth2.0 认证源

最近更新时间:2026-09-16 21:22:01
我的收藏

OAuth 简介

什么是 OAuth2.0?

OAuth(Open Authorization)是关于授权的开放网络标准协议,允许用户授权第三方应用访问其存储在其他服务提供者上的信息,而无需将用户名和密码提供给第三方应用。OAuth 在全球范围内得到广泛应用,当前版本为 2.0,即 OAuth2.0。

OAuth2.0 典型应用场景

OAuth 2.0 的应用场景非常广泛,包括但不限于:
1. 第三方应用访问用户在其他服务上的信息。例如,一个应用通过 OAuth 2.0 访问用户在飞书、钉钉或其他应用等上面的数据。
2. 第三方应用代表用户执行操作。例如,一个邮件客户端应用通过 OAuth 2.0 发送用户的电子邮件。
3. 第三方应用使用 OAuth 2.0 实现用户的单点登录。例如,用户可以使用飞书、钉钉或者其他认证源账号登录其他应用。
企业控制台的 OAuth2.0 认证源功能即实现场景三:使用其他认证源账号,通过 OAuth2.0 协议实现用户单点登录到企业控制台。

OAuth 2.0 基本概念

OAuth2.0 的运行流程涉及一些名词和概念,熟悉这些名词和概念有助于理解 OAuth 2.0 机制。
常见名词
名词解释
客户端(Client)
请求访问资源的第三方应用;客户端可以是 Web 站点、App、设备等
服务提供商(Service Provider)
服务提供商是指提供、存放资源的网络服务
资源所有者(Resource Owner)
资源所有者通常就是指用户,他们拥有服务提供商上的资源
授权服务器(Authorization Server)
授权服务器是服务提供商用于处理和发放访问令牌的服务器。当用户请求访问资源时,需要先向授权服务器请求访问令牌
资源服务器(Resource Server)
资源服务器是服务提供商用于存储和管理资源的服务器;当用户拥有访问令牌后,就可以向资源服务器请求访问资源
访问令牌(Access Token)
访问令牌是授权服务器发放给客户端的一个凭证,表示客户端有权访问资源所有者的资源。访问令牌有一定的有效期,过期后需要使用刷新令牌来获取新的访问令牌
刷新令牌(Refresh Token)
刷新令牌是授权服务器在发放访问令牌时一同发放的一个凭证,用于在访问令牌过期后获取新的访问令牌。刷新令牌通常有较长的有效期,甚至可以设置为永不过期
用户代理(User Agent)
通常指浏览器

配置步骤

步骤1:配置凭证信息

1. 企业管理后台 > 组织与成员 > 认证源管理中,单击展开添加认证源。选择 OAuth2 认证源 ,单击添加

2. 填写第三方身份提供商提供的基础配置信息(包括 Client ID、Client Secret、Scopes 授权范围)。

3. 系统会为您生成“回调地址(Redirect URI)”,请复制并妥善记录。该项信息需提供给第三方身份提供商进行配置。


步骤2:Endpoint 配置

1. 选择“检验 token 身份验证方式”。该方式一般由第三方身份提供商定义,也可以由企业控制台定义、第三方身份提供商进行匹配。企业控制台支持 Basic Auth 和 Form Post 两种方式。

2. 填写第三方身份提供商提供的 Endpoint 信息,包括:认证端点(Authorization Endpoint)、Token 端点(Token Endpoint)、用户信息端点(Userinfo Endpoint)。

3. 选择“UserInfo 接口 Token 携带方式”。该方式一般同样由第三方身份提供商定义,也支持由企业控制台定义、第三方身份提供商进行匹配。企业控制台支持:请求头参数传递(Authorization Request Header Field)、URI 请求参数传递(URI Query Parameter)和表单编码传递(Form-encode Body Parameter)。


步骤3:配置关联规则

以上信息填写完成后,单击下一步,进入“关联规则”配置页面。关联规则主要包含匹配逻辑和未匹配逻辑,具体配置方式请参见关联规则
企业控制台提供如下 OAuth2.0 用户预置属性字段。如果所需字段不在预置字段中,也可以通过自定义脚本方式进行配置。
1. 匹配逻辑预置字段
属性字段名称
属性字段标识
属性字段类型
用户唯一标识
user.sub
String
用户登录名
user.preferred_username
String
手机号
user.phone_number
String
邮箱
user.email
String

2. 新建用户预置属性字段
属性字段名称
属性字段标识
属性字段类型
用户唯一标识
user.sub
String
用户名
user.name
String
用户登录名
user.preferred_username
String
手机号
user.phone_number
String
邮箱
user.email
String