源本科技 | 码上会

集成认证授权 - OAuth 2.0 开放平台

2026/05/02
26
0

引言

开放平台是提供开放接口与标准化服务,允许第三方开发者基于平台能力构建应用、服务或功能的生态载体。通过开放平台,企业可与外部开发者协同合作,共享数据与核心能力,推动业务创新与生态规模化发展。

https://open.weixin.qq.com/https://q.qq.com/https://ai.baidu.com/https://lbsyun.baidu.com/

交互模型

OAuth 2.0 授权交互涉及三个核心参与方,角色边界清晰:

  • 资源拥有者:即最终用户,是个人数据与资源的归属方

  • 客户端:即第三方应用程序(APP、网站、小程序等),需要获取用户资源的请求方

  • 服务提供方:包含两个独立服务角色

    • 认证服务器:负责身份校验与权限发放

    • 资源服务器:负责存储并提供用户的实际资源

认证服务器

认证服务器的核心职责是验证用户身份,并向第三方客户端发放授权凭证。用户身份认证逻辑简单(仅需校验账号密码),但权限授权流程更复杂。以第三方登录场景为例:用户使用 QQ 登录「有道云笔记」时,会在授权页面看到「有道云笔记将获得以下权限」的提示与权限清单,这就是认证服务器向用户展示的授权确认环节。

认证服务器必须先识别请求授权的客户端身份与权限范围,常规做法是:

  1. 为每个第三方客户端分配唯一的 client_id

  2. 绑定客户端名称、可申请权限等信息,存入配置文件

  3. 客户端跳转授权页时,携带自身 client_id 向认证服务器发起请求

请求示例如下:

http://域名/login?client_id=yourClientId

随着接入客户端数量增加,手动维护配置文件会耗费大量人力,无法支撑业务规模化扩展。解决这一问题的核心方案,就是搭建OAuth 2.0 开放平台

OAuth 2.0 开放平台

OAuth 2.0 开放平台是基于 OAuth 2.0 协议打造的标准化开放服务体系,支持第三方客户端自助注册、自助申请权限,全程自动化完成身份配置与授权流程。

核心流程

  • 客户端自助申请:第三方开发者自主提交应用信息,包括应用类型(Web、App、小程序等)、企业资质、营业执照、所需权限范围等,平台完成合规审核。

  • 自动分配身份凭证:审核通过后,开放平台自动生成并分配唯一的 client_idclient_secret,同步更新系统配置,无需人工干预。

  • 授权回调与令牌发放

    • 客户端申请时需预先填写合法的回调 URL,例如:http://域名/callback

    • 用户完成授权后,认证服务器通过重定向跳转至该回调 URL,并携带授权令牌 access_token

    • 正确回调示例:http://域名/callback?access_token=123456789

  • 客户端接管流程:第三方客户端接收 access_token 后,即可凭令牌访问资源服务器,完成后续业务逻辑,授权流程正式结束。