K12服务体系技术规范 API接口说明

Auth 2.0验证-说明

关键词汇:

  • OAUTH OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因为OAUTH是一个开放性协议,所以在百度,谷歌等网站皆能搜索到详细的说明,这里不再详细说明。目前本平台是基于OAuth2.0的,以简化第三方应用的接入过程及提高安全性。
  • client_id 这是第三方应用在平台申请成功后,平台发放给应用的令牌(client_id)和密钥(client_secret),应用的登录接入以及接口资源的访问都需要使用此数据。申请联系技术服务人员。
  • client_secret 参见(client_id);
  • 第三方应用系统 第三方应用系统是指在统一身份认证平台注册并认证后,可以使用平台提供的API接口服务,并向最终用户提供服务的应用系统。其表现形式目前只支持一个PC网站,暂时无手机端统一入口。
  • 应用提供商 应用提供商(Service Provider,SP)是指接入到平台中的各第三方应用系统的拥有者。
  • 用户身份 本文所描述的用户身份,是指用户帐号相关信息。
  • 授权平台 授权平台指的是第三方应用和平台用户建立授权关系的一个场所。平台用户可以有选择性的授权给自己愿意接受服务的第三方应用,应用可以引导用户进入授权平台页面引导用户对应用进行授权。

OAuth2.0基本原理

OAuth2.0是从2006年开始设计OAuth协议的下一个版本,OAuth2.0同时提供Web,桌面和移动应用程序的支持,整个授权验证流程简单且安全。也是开放平台未来最主要的用户身份验证和授权方式。

为了使用统一身份认证平台提供的API(应用程序接口),你需要向我们申请(将来可能会改为线上方式直接申请)。我们会给每一个应用一个专属的client_id和client_secret。client_id跟client_secret的使用方式跟其他一些协议中的公钥私钥的方案相类似,你可以使用你所熟悉的编程语言将client_id和client_secret结合,为你发出的每个请求添加签名,以此来向统一身份认证平台表明自己身份的合法性。

时序图

PNG

总体流程

  1. 申请接入,获取client_id和client_secret;
  2. 第三方应用登录流程开发;
  3. 通过用户登录验证和授权,获取AccessToken;
  4. 使用获得的AccessToken调用OPEN API