登录接入
用户在教育号平台侧使用如下地址登录成功, app 参数使用分配的应用 SuiteId https://login.szns.edu.cn/statics/login-pc/index.html?app=SuiteId#/
登录成功后重定向到应用的首页地址并携带平台侧下发的 code, 如: https://v.epaas.qq.com/login.html?code=b29eb6164d62d522ff09d64429a8e6a1&app=SuiteId&appid=SuiteId&env=dev
应用可从跳转地址中获取code进行登录。
登录流程图
sequenceDiagram
participant user as 用户
participant app as 应用接入方
participant platform as 平台方
app ->> platform: 注册应用,配置回调
platform -->> app: 分配SuiteId等应用信息
user ->> app: 使用应用
alt 已登录
app -->> user: 返回应用信息
else 未登录
app -->> user: 302到教育号授权登录页
user ->> platform: 用户登录
platform -->> user: 登录成功
user ->> user: 302到应用侧配置的回调地址,并附上code
user ->> app: 提交code验证
app ->> platform: 调用code换取access_token接口
platform -->> app: 返回access_token等信息
app ->> platform: 带access_token查询用户信息
platform -->> app: 返回用户基本信息
app -->> user: 登录完成,下发登录态
end
登录接入接口
code换取access_token
接口说明:此接口返回的 access_token 用于完成登录态下发,查询用户信息,与 suite_access_token 和 corp_access_token 不同
请求地址: https://login.szns.edu.cn/open/access_token
请求方法: [ GET, POST ]
请求参数:
参数 | 必须 | 说明 |
---|---|---|
appid | 是 | 填教育号平台 SuiteId |
secret | 是 | 填教育号平台 SuiteKey |
code | 是 | 填应用跳转地址中获取的 code |
redirect_uri | 是 | 重定向地址 |
grant_type | 是 | 填 "authorization_code" 字符串 |
请求示例:
https://login.szns.edu.cn/open/access_token?appid=xxxx&secret=265b2b7&code=581879d8ac77948&redirect_uri=https://xxx.html&grant_type=authorization_code
返回结果:
{
"code": 0,
"msg": "请求成功",
"requestid": "463b215ea1d466a8",
"data": {
"access_token": "a51kiS9ooVgQRfhVqLCrmTsj5kFGu1JZnKwyctgbQB.QxUJnHSmGLclVKyhgijlhXfXfdjELsfZ",
"expires_in": 7200,
"refresh_token": "38NpHr4Ax51wUedoST3HWKMb5BJp88pomd7Wz2p772P2SWJvD1geWKxjzC1dF816rsyBXgeJVG8Hnb6oaAK3yYTTDuLiztSwcf9vUUh.SmqTWjhtrOftpmLfNaKNsEjvFnvIvwMcliiYlBAdEEFEOpssxGrmzJRlqhPSVMBc"
}
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
code | 是 | 返回码 |
msg | 是 | 返回码的文本描述内容 |
requestid | 是 | 请求 id |
data | 是 | |
access_token | 是 | access_token |
expires_in | 是 | 过期时间, 默认 7200秒 |
refresh_token | 是 | refresh_token,用于更新 access_token,过期时间 30 天 |
更新access_token
请求地址: https://login.szns.edu.cn/open/refresh_token
请求方法: [ GET, POST ]
请求参数:
参数 | 必须 | 说明 |
---|---|---|
appid | 是 | 填教育号平台SuiteId |
refresh_token | 是 | 填上一步获取到的refresh_token参数 |
grant_type | 是 | 填 "refresh_token" 字符串 |
请求示例:
https://login.szns.edu.cn/open/refresh_token?appid=xxxx&refresh_token=581879d8ac77948&grant_type=refresh_token
返回结果:
{
"code": 0,
"msg": "请求成功",
"requestid": "102d02d392911261",
"data": {
"access_token": "G3eBvGPjgqJPf2hvszeyYgxUbVhVZh4E79.rujydCcdhtTZpKnkyrOTfrlNBhfJMElE",
"expires_in": 7200,
"refresh_token": "37QZ1UiTUsaxP7u6pq41CfcQRDg8gqcmexSyvo243HMjwCejASNZjqV8gfTMgkqpkRtXfhaMqfouUXnvD4EWtMW3noAp.kyshHAmwrjIrcDMjcuiLhLiSWdbksFxKuwPPAmbCxkIKGziQvmIXhPIUAHwJHMHf"
}
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
code | 是 | 返回码 |
msg | 是 | 返回码的文本描述内容 |
requestid | 是 | 请求 id |
data | 是 | |
access_token | 是 | access_token |
expires_in | 是 | 过期时间, 默认7200秒 |
refresh_token | 是 | refresh_token,用于更新 access_token,过期时间 30 天 |
查询用户信息
请求地址: https://login.szns.edu.cn/open/userinfo
请求方法: [ GET, POST ]
请求参数:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | access_token |
请求示例:
https://login.szns.edu.cn/open/userinfo?access_token=581879d8ac77948
返回结果:
{
"code":0,
"msg":"请求成功",
"requestid":"54026dbf17383dd4",
"data":{
"user_name": "用户1",
"suite_id": "10000",
"role_id": 12,
"userid": "30000000",
"corpid": 80000,
"ext_data": "{\"bg_type\":5,\"child_id\":0,\"m_corpid\":80000,\"m_userid\":30000000,\"org_type\":4,\"sub_type\":2,\"org_name\":\"教育号学校\",\"user_name\":\"用户1\",\"avatar\":\"http://xxxxx.cn\",\"suite_id\":10000,\"is_super_login\":false,\"login_factors\":[\"WXWORK\"]}",
"source_id": "mguAMLFKIKXYrtITa9n8d_dKOV5y1XVU",
"avatar": "http://thirdwx.qlogo.cn/mmopen/vi_32/p2S5qia3OhWqkC95icVK6zpJ2BsrQic7icpoUt8DCF1tYFicwMliaSUNaclzgaFnE3ITh6xiaicDEke8ytSXOQz7YA7pRA/132"
"open_user_id": "23436536asd45264"
}
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
code | 是 | 返回码 |
msg | 是 | 返回码的文本描述内容 |
requestid | 是 | 请求 id |
data | 是 | |
user_name | 是 | 用户姓名昵称 |
avatar | 是 | 用户头像链接 |
role_id | 是 | 角色id, 11: 学生; 12: 老师; 13: 家长 |
userid | 是 | 用户在机构内的唯一 id (机构内唯一) |
corpid | 是 | 教育号平台 CorpId |
suite_id | 是 | 教育号平台 SuiteId |
ext_data | 是 | 扩展字段 |
open_user_id | 是 | 用户uuid,和教育局内网登陆pc端的用户id一致 |
ext_data 扩展字段参数说明:
参数 | 必须 | 说明 |
---|---|---|
bg_type | 是 | 平台类型, 0:教育号平台; 1:超管; 2:代理商; 3:上级单位; 4:学校; 5:教师; 6:学生; 7:家长; 8:小程序 |
child_id | 是 | 孩子的用户id(家长身份登录时返回) |
m_corpid | 是 | 主校id |
m_userid | 是 | 主校机构用户id |
org_type | 是 | 当前机构类型, 0:机构; 1:代理商; 2:上级单位; 3:组; 4:学校; 5:超管; 6:开发者; 7:访客 |
sub_type | 是 | 当前机构子类型, 0:未定义; 1:小学; 2:初中; 3:高中; 4:九年教育; 5:十二年教育; 6:培训机构; 7:职校; 8:幼儿园 |
org_name | 是 | 机构名称 |
is_super_login | 是 | 是否是超管登录 |
login_factors | 是 | 登录来源 |