背景:部分第三方平台需要作为独立登录源对接教育号登录,使用自己用户密码登录平台派发自己的code,然后到教育号对接第三方登录,需要教育号支持指定应用和带redirect_uri进行跳转。
数字基座应用跳转登录对接流程
0.前提假设第三方平台在教育号申请的平台应用appId为30000。
1.需要第三方平台在走完自己的账号登录后直接下发code,即不需要每次点击教育号应用都从新下发code。
2.下发code后使用iframe嵌套页面调用sso.qq.com域名的第三方登录,接口为https://sso.qq.com/pass/third_account_login ,整体对接前需要在教育号20000超管上配置第三方账号来源,即需要配置账号来源以及对应到教育号的应用30000,然后第三方登录接口下发第三方平台应用30000身份的code,同时下发cookie。
3.在点击应用进行跳转时,接口为https://sso.qq.com/open/oauth2/authorize?base_appid=30000&appid={targetAppId} ,普通应用要求当前所在机构都安装了30000和targetAppId。特殊20000教育号的应用管理也的跳转需要添加白名单允许30000跳转至20000。
4.在第三方平台页面点击退出时需要调用教育号的登出接口,接口为https://sso.qq.com/open/logout/30000 。
5.在教育号登录态失败是需要做特殊处理,第三方平台前端在本页面调用open/oauth2/authorize接口,如果教育号登录态失效则直接返回http status=200报错信息。第三方平台前端重新获取code走第三方登录接口重试。
6.调用失败场景需要重新获取第三方平台的code,然后调用pass/third_account_login接口。
7.定时刷新token,重新获取第三方平台的code,然后调用pass/third_account_login接口。