第三方账号登录教育号接口
使用场景: 第三方平台登录教育号的应用。
对接前请先联系管理员配置第三方账号源。 如果希望登录后,直接跳转到指定应用,可以指定redirect_uri为 https://test-sso.qq.com/open/oauth2/authorize?base_appid={第三方平台应用}&appid={targetAppId}
请求方式: GET(HTTPS)
请求地址: https://test-sso.qq.com/pass/third_account_login
请求方法: [ GET ]
请求参数:
参数 | 必须 | 说明 |
---|---|---|
code | 是 | 第三方平台OAuth登录的Code |
appid | 是 | 第三方为教育号分配的应用id |
account_source | 是 | 第三方账号源,由教育号提供 |
redirect_uri | 否 | 登录后的跳转地址,跳转域名需要管理员在10006加白 |
failure_url | 否 | 登录失败后的跳转地址,支持个性化的展示失败提示页面,跳转域名需要管理员在10006加白 |
回包 带着教育号code重定向到应用的首页,如果传了redirect_uri,则带着code跳转到指定的地址
第三方平台需要实现的接口
获取access_token
使用场景: 由教育号调用
请求地址: https://{第三方后台接口域名}/access_token
请求方法: [ POST ]
请求参数:
{
"appid": "20000",
"secret": "xxxx",
"code": "xxxx",
"grant_type": "authorization_code"
}
参数 | 必须 | 说明 |
---|---|---|
appid | 是 | 平台为应用分配的应用id |
secret | 是 | 平台为应用分配的秘钥 |
code | 是 | 应用跳转地址中获取的 code |
grant_type | 是 | 填 "authorization_code" 字符串 |
返回结果:
{
"code": 0,
"msg": "请求成功",
"data": {
"access_token": "a51kiS9ooVgQRfhVqLCrmTsj5kFGu1JZnKwyctgbQB.QxUJnHSmGLclVKyhgijlhXfXfdjELsfZ",
"expires_in": 7200,
"refresh_token": "38NpHr4Ax51wUedoST3HWKMb5BJp88pomd7Wz2p772P2SWJvD1geWKxjzC1dF816rsyBXgeJVG8Hnb6oaAK3yYTTDuLiztSwcf9vUUh.SmqTWjhtrOftpmLfNaKNsEjvFnvIvwMcliiYlBAdEEFEOpssxGrmzJRlqhPSVMBc"
}
}
参数说明
参数 | 必须 | 说明 |
---|---|---|
msg | 是 | 返回码的文本描述内容 |
data.access_token | 是 | access_token |
data.expires_in | 是 | 过期时间 |
data.refresh_token | 否 | refresh_token,用于更新 access_token |
获取用户信息
请求地址: https://{第三方后台接口域名}/userinfo?access_token={access_token}
请求方法: [ GET ]
请求参数:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 接口调用凭证 |
返回结果:
{
"code": 0,
"msg": "请求成功",
"data": {
"openid": "ed12312",
"org_code": "123456",
"org_name": "测试学校",
"role_id": 12,
"sub_role_id": 1,
"name": "叶小宏",
"user_number": "2009060406",
"gender": "1",
"mobile": "15900110011",
"student_info": {
"class_path": "/2021级/一班",
"class_code": "/12434/2343"
}
}
}
参数 | 必须 | 说明 |
---|---|---|
code | 是 | 返回码。0为成功,非0则为失败 |
msg | 是 | 返回码的文本描述内容 |
data.openid | 是 | 第三方帐号唯一id |
data.org_code | 是 | 学校编码 |
data.org_name | 是 | 学校名称 |
data.role_id | 是 | 登录账号的角色id, 参考角色类型 |
data.sub_role_id | 是 | 登录账号的子角色ID:120001-学校管理员,20001-行政单位管理员,0-其他 |
data.name | 是 | 用户的真实姓名 |
data.user_number | 是 | 教工号或者学号 |
data.gender | 否 | 性别。用户性别,1-男,2-女 |
data.mobile | 否 | 手机号码。教师以及高校学生必返 |
data.student_info.class_path | 是 | 学生年级、班级,当登录身份为学生身份时必返。注意年级要带上年份,否则只能当自定义年级 |
data.student_info.class_code | 是 | 学生年级、班级code,当登录身份为学生身份时必返 |