基于OAuth2.0实现的单点登录

教育号基于OAuth2.0标准为第三方应用提供为第三方应用提供统一登录认证能力,解决用户在使用不同应用时需要重复多次登录的问题。
应用根据产品形态和业务需求评估接入方式,接入完成后可以基于教育号的帐号体系实现用户登录认证。
OAuth2.0允许用户在不告知第三方自己的帐号密码情况下,通过授权方式,让第三方服务可以获取自己的资源信息。
详细的协议介绍,开发者可以参考RFC 6749

教育号登录接入流程


sequenceDiagram participant user as 用户 participant app_client as 应用客户端 participant app_svr as 应用服务端 participant epaas_svr as 教育号服务端 user ->> app_client: 打开应用 app_client ->> app_svr: 检查用户登录状态 alt 应用侧登录态有效 app_svr -->> app_client: 应用侧业务流程 else 应用侧登录态无效 app_svr -->> app_client: [用户未登录] app_client ->> epaas_svr: 用户登录 epaas_svr ->> epaas_svr: 校验REDIRECT_URI alt 教育号侧登录态有效 epaas_svr -->> epaas_svr: 登录态有效 else 教育号侧登录态无效 epaas_svr -->> user: 重新登录验证 user ->> epaas_svr: 用户登录验证(多种验证方式) end epaas_svr -->> app_client: 登录成功(下发登录授权code) app_client ->> app_svr: 提交code验证 app_svr ->> epaas_svr: 调用code换access_token接口 epaas_svr -->> app_svr: 返回access_token等信息 app_svr ->> epaas_svr: 带access_token查询用户信息 epaas_svr -->> app_svr: 返回用户基本信息 app_svr -->> app_client: 登录完成,下发登录态 end

说明:code换token为后台服务器之间的调用,不通过浏览器;为用户信息安全考虑,获取到的用户token仅在服务端使用,不可以下发到前端。

© 1998 - 2021 Tencent Inc. All Rights Reserved all right reserved,powered by ePaaS.更新时间: 2024-03-04 10:24:47

results matching ""

    No results matching ""

    results matching ""

      No results matching ""