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 客户端清理本地用户缓存和退出