Oauth认证类接口
主要使用场景:开发者可以通过该接口进行oauth认证、实名认证等操作
1、获取oauth授权码
获取访问oauth的授权码,每次访问oauth时需要重新获取,使用一次后销毁。
请求说明
url |
/uias/oauth/authorize |
协议 |
get |
参数说明
序列号 |
字段名 |
约束 |
类型 |
说明 |
1 |
grant_type |
必选 |
String |
授权模式,固定传“authorization_code” |
2 |
response_type |
必选 |
String |
返回类型,固定传“code” |
3 |
client_id |
必选 |
String |
国家智慧教育枢纽平台接入之后就会生成一个AppId和AppKey,AppId即为client_id是应用认证授权的唯一标识 |
4 |
redirect_uri |
必选 |
String |
登录成功后跳转到第三方平台的地址,也是平台接入时候的url地址 |
5 |
scope |
必选 |
String |
授权范围,固定值:userInfo |
返回说明
序列号 |
字段名 |
约束 |
类型 |
说明 |
1 |
code |
必选 |
String |
临时授权码,一次有效,有效期为5分钟 |
示例
请求报文:
{
http://ip:port/uias/oauth/authorize?client_id=***&grant_type=authorization_code
&response_type=code&redirect_uri=平台回跳url&scope=userInfo
}
应答报文:
跳转到回调地址并带上code
https://平台回跳url?code=xxxx-xxxx-xxxx
2、根据授权码获取访问令牌
根据授权码code获取枢纽的访问令牌。
请求说明
url |
/uias/oauth/token |
协议 |
post |
参数说明
序列号 |
字段名 |
约束 |
类型 |
说明 |
1 |
code |
必选 |
String |
授权码 |
2 |
grant_type |
必选 |
String |
固定值:authorization_code |
3 |
client_id |
必选 |
String |
应用id,系统自动生成APPID |
4 |
client_secret |
必选 |
String |
应用秘钥,系统自动生成APPKEY |
5 |
redirect_uri |
必选 |
String |
登录成功后跳转到第三方平台的地址,也是平台接入时候的url地址 |
返回说明
序列号 |
字段名 |
约束 |
类型 |
说明 |
1 |
access_token |
必选 |
String |
访问令牌,2个小时有效期 |
2 |
token_type |
必选 |
String |
令牌类型 |
3 |
refresh_token |
必选 |
String |
刷新token,15天有效期 |
4 |
expires_in |
可选 |
Int |
访问令牌过期时间 |
5 |
scope |
可选 |
String |
授权范围 |
6 |
client_id |
可选 |
String |
客户端APPID |
7 |
id_token |
可选 |
String |
授权身份id_token,统一退出参数 |
示例
请求报文:
{
"code":"1212****",
"grant_type":"authorization_code",
"redirect_uri":"xxxxxxxx",
"client_id":"xxxxxx",
"client_secret":"xxxxxx"
}
应答报文:
{
"access_token": "2f52a68f-9cec-44fc-8c7e-c600*******",
"token_type": "bearer",
"refresh_token": "d7355e72-6985-41d7-875c-25449b8****",
"expires_in": 7199,
"scope": "userInfo",
"client_id": "0MOD9Mi1vk2UHAQk6AHFe40A*****",
"id_token": "*******"
}
3、根据访问令牌获取登录用户信息
根据访问令牌获取登录用户信息。
请求说明
url |
/data/user/getUserInfo |
协议 |
post |
参数说明
序列号 |
字段名 |
约束 |
类型 |
说明 |
1 |
access_token |
必选 |
String |
会话id,唯一标识一个登录用户 |
返回说明
序列号 |
字段名 |
约束 |
类型 |
说明 |
1 |
retCode |
必选 |
String |
返回码
000000:成功
200001:必选参数为空200002:请求参数错误800001:用户会话票据失效 |
2 |
retDesc |
必选 |
String |
返回码描述 |
3 |
data |
必选 |
String |
返回数据 |
3.1 |
userId |
必选 |
String |
用户id |
3.2 |
name |
必选 |
String |
用户姓名 |
3.3 |
username |
可选 |
String |
用户账号 |
3.4 |
gender |
可选 |
String |
性别:1-男;2-女 |
3.5 |
dafaultIdentity |
可选 |
String |
默认身份信息(0:学生,1:老师,2:家长,3:学校工作人员:4:机构工作人员) |
3.6 |
orgRelList |
可选 |
JSON[] |
用户认证机构关系列表 |
3.6.1 |
orgName |
可选 |
String |
机构或者学校名称 |
3.6.2 |
orgIdentity |
可选 |
String |
用户身份信息列表(0:学生,1:老师,2:家长3:学校工作人员:4:机构工作人员) |
3.6.3 |
orgId |
必选 |
String |
机构ID |
3.6.4 |
orgType |
必选 |
String |
机构类型
0:小学,
1:初中,
2:高中,
3:完中,
4:机构,
5:教学点,
6:九年一贯制,
7:十二年一贯制,
8:高等教育,
9:其他教育类,
10:中职,
11:高职,
12:幼儿园 |
3.6.5 |
provinceCode |
必选 |
String |
区域编码-省 |
3.6.6 |
cityCode |
必选 |
String |
区域编码-市 |
3.6.7 |
areaCode |
必选 |
String |
区域编码-区 |
3.7 |
smartEduCard |
必选 |
String |
智教中国通行证 |
示例
请求报文:
{
"access_token":"9d82a9ca-*********-43887a73c2e2"
}
应答报文:
{
"data": {
"defaultIdentity": "0",
"gender": "2",
"name": "李好",
"userId": "0000011940ff4e8880011940ff4e88ba",
"username": "lihao689jyn607",
"smartEduCard": "1101012011123423434"
},
"retCode": "000000",
"retDesc": "请求成功",
"success": true
}
4、刷新令牌
前置条件:获取到刷新token:refresh_token。刷新访问令牌信息。
请求说明
url |
http://ip:port/uias/oauth/token |
协议 |
post |
参数说明
序列号 |
字段名 |
约束 |
类型 |
说明 |
1 |
refresh_token |
必选 |
String |
刷新token |
2 |
grant_type |
必选 |
String |
refresh_token 固定值 |
3 |
client_id |
必选 |
String |
应用id,系统自动生成APPID |
4 |
client_secret |
必选 |
String |
应用秘钥,系统自动生成APPKEY |
5 |
redirect_uri |
必选 |
String |
登录成功后跳转到第三方平台的地址,也是平台接入时候的url地址 |
返回说明
序列号 |
字段名 |
约束 |
类型 |
说明 |
1 |
access_token |
必选 |
String |
访问令牌,2个小时有效期 |
2 |
token_type |
必选 |
String |
令牌类型 |
3 |
refresh_token |
必选 |
String |
刷新token, 15天有效期 |
4 |
expires_in |
可选 |
Int |
访问令牌过期时间 |
5 |
scope |
可选 |
String |
授权范围 |
6 |
client_id |
可选 |
String |
客户端APPID |
7 |
id_token |
可选 |
String |
授权身份id_token,统一退出参数 |
示例
请求报文:
{
"refresh_token":"1212****",
"grant_type":"refresh_token",
"redirect_uri":"xxxxxxxx",
"client_id":"xxxxxx",
"client_secret":"xxxxxx"
}
应答报文:
{
"access_token": "2f52a68f-9cec-8c7e-c6*****b30547",
"token_type": "bearer",
"refresh_token": "d7355e72-41**-875c-2*****d4",
"expires_in": 7199,
"scope": "userInfo",
"client_id": "0MOD9Mi1vk********KkK",
"id_token": "*******"
}
5、统一登出接口
前置条件:获取到id_token:id_token。统一登出接口。
请求说明
url |
/uias/token/logout?id_token_hint=***&logout_redirect_uri=http://***thirdlogout.domain |
协议 |
get |
参数说明
序列号 |
字段名 |
约束 |
类型 |
说明 |
1 |
id_token_hint |
必选 |
String |
授权身份id_token的值 |
2 |
logout_redirect_uri |
必选 |
String |
回调前台退出地址,实现客户端清理缓存和退出 |
返回说明
示例
请求报文:
http://ip:port/uias/token/logout?id_token_hint=***&
logout_redirect_uri=http://www.baidu.com/logout
应答报文:
http://www.baidu.com/logout 客户端清理本地用户缓存和退出