basehost :open.zafu.edu.cn/oauth/token?grant_type=client_credentials&client_id=aiqiyi&client_secret=123456 (开发测试地址,https)
网站应用第三方登录是基于OAuth2.0协议标准构建的第三方OAuth2.0授权登录系统。
在进行第三方OAuth2.0授权登录接入之前,开发者需要在第三方开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,获得相应的AppID和AppSecret。申请第三方登录且通过审核后,即可开始接入流程。
第三方OAuth2.0授权登录让第三方用户使用第三方身份安全登录第三方应用或网站。第三方用户授权登录后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行第三方开放平台授权关系接口调用,从而可实现获取第三方用户基本开放信息和帮助用户实现基础开放功能等。
第三方OAuth2.0授权登录目前支持client credentials模式,适用于拥有Web端的应用授权。该模式整体流程为:
1. 第三方发起第三方授权登录请求,第三方用户允许授权第三方应用后,第三方会拉起应用或重定
向到第三方网站,通过API换取access_token;
2. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
第三方使用网站应用授权登录前请注意已获取相应网页授权作用域,则可以通过在PC端打开以下链接:
http://open.zafu.edu.cn/oauth/token?grant_type=client_credentials&client_id=aiqiyi&client_secret=123456
参数名称 | 必填 | 说明 | 备注 |
---|---|---|---|
grant_type: | √ | 授权模式 | Oauth2支持4种授权模式,目前本系统支持客户端(client_credentials)模式 |
client_id: | √ | 建议5-20位;|开发者使用api唯一标识 | 第三方提供的app_key |
client_secret: | √ | 开发者使用api唯一标识对应的密码 | 第三方提供的Secret Key |
scope使用注意: base_api
(默认值)可以访问基础api(/userinfo)且支持静默模式不弹出授权提醒, all
可以所有开放api,
manager
(第三方管理员)
返回结果:
{
"access_token": "382f55ea-2c6b-4b2f-b950-534339a9bfef",
"token_type": "bearer",
"expires_in": 43199,
"scope": "get_user_info get_fanslist"
}
错误返回样例:
{
"errcode":40029,
"errmsg":"invalid code"
}
参数名称 | 说明 | 备注 |
---|---|---|
errcode | 错误编码 | |
errmsg | 错误提示 |
由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新。当refresh_token失效之后,需要用户重新授权。
https://open.zafu.edu.cn/oauth/token
参数名称 | 必填 | 说明 | 备注 |
---|---|---|---|
grant_type | √ | refresh_token[固定参数] 换取新token|开发者使用api唯一标识 | |
client_id | √ | 开发者使用api唯一标识 | |
client_secret | √ | 获取accesstoken秘钥 | |
refresh_token | √ | 上次获取token中反馈的refresh_token |
url: 'https://open.zafu.edu.cn/oauth/token',
{
"grant_type": "refresh_token",
"client_id": "your clientid",
"client_secret": "appkey",
"refresh_token": "***********"
}
换取响应 [POST]
{
"access_token": "xN2836yQAQfDURxVPds0IM9vfUk3IJC5",
"expires_in": 604800,
"scope": "demo",
"refresh_token": "VFlAp82EUWNQJkokRvoELSPhPpO3pSPS",
"token_type": "Bearer"
}
https://open.zafu.edu.cn/userinfo?access_token=tokenstring
参数名称 | 必填 | 说明 | 备注 |
---|---|---|---|
access_token | √ | client credentials 模式下获取的 access_token |
返回正确结果
{
"name": "ABC",
"schoolcode": "ruijie",
"student_number": "panyuntao",
"sex": "boy",
"mood_words": "",
"nick_name": "",
"organization_id": "234",
"organization": "第三方大学",
"uid": "099",
"identity": "teacher",
"wx_openid":"abcd",
"openid": "",
"unionid": "",
"schoolname": "第三方大学",
}
返回错误结果
{ "code":401/403/500,
"data":"Unauthorized",
"errno":"100401"//内部错误代码}
参数名称 | 说明 | 备注 |
---|---|---|
errcode | 错误编码 | |
errmsg | 错误提示 |
访问权限限制
访问级别:普通接口
频次限制:无
授权scope:base_api