极资源-修仙天才班

神牛教 Oauth2 授权登录接口开发文档

1、开发环境

当前API最新版本:V1.0.0.1
最新更新时间:2018-11-17
作者:小黄牛
PHP环境:PHP5.4+
服务器环境:Windows/Linux/Apache/Nginx
简介:本接口的Appid只限于神牛教成员可获取。

2、使用过程

1、生成授权地址进行跳转
2、获得code状态码
3、使用code状态码获取access_token身份凭证
4、使用access_token获取用户信息
注意:code与access_token均为一次性授权,不管授权成功与否,这两个参数都会被重置,需要重新在步骤1开始获取。

3、详细使用说明:

接口必备参数:
appid 身份ID
redirect_uri 回调地址
state开发者自定义参数,可为空

1、开发者先使用上面三个参数,生成跳转URL,让用户进行触发跳转授权,格式如下:
https://xiuxian.junphp.com/oauth2?appid=身份ID&redirect_uri=回调地址&state=用户随机内容

2、当用户点击进入该链接后,会被要求登录后进行授权确认,确认成功后,神牛教服务器会自动生成code参数,回跳到指点的redirect_uri地址中,code参数为get类型,同时也是会带之前设置的state参数,例如:
https://blog.junphp.com/shenniujiao.jsp?code=A4N1S6K7CC3FDSETK5MYDBFU34M48CSTJ30NHF7GE2ACRACVLDN7GKPM50X8ZAR5&state=

3、当获得code后,开发者使用curl库发送get请求到指定api中,获取access_token,格式如下:
https://xiuxian.junphp.com/oauth2/access_token?appid=身份ID&code=状态码

4、当获得access_token后,开发者再次使用curl库发送get请求到api中,获取用户信息,格式如下:
https://xiuxian.junphp.com/oauth2/get_user?appid=身份ID&access_token=身份凭证

5、最后就是完成开发者,自己的注册与自动登录逻辑了。

4、参数说明

https://xiuxian.junphp.com/oauth2的参数说明如下:

字段名
中文
类型
默认值
可空(Y/N)
描述
appid
身份ID
string
N
渠道ID
redirect_uri
回跳地址
string
N
当授权登录后,系统将带code参数回跳到该指定地址,注意,该地址不能带?后面的参数
state
渠道自定义内容
string
Y
渠道商自定义内容,在回跳时会带上

https://xiuxian.junphp.com/oauth2/access_token的参数说明如下:

字段名
中文
类型
默认值
可空(Y/N)
描述
appid
身份ID
string
N
渠道ID
code
状态值(一次性)
string
N
授权回跳时获得的code值

https://xiuxian.junphp.com/oauth2/get_user的参数说明如下:

字段名
中文
类型
默认值
可空(Y/N)
描述
appid
身份ID
string
N
渠道ID
access_token
请求凭证(一次性)
string
N
使用code值获取到的请求凭证

5、调用DEMO

6、返回值说明

https://xiuxian.junphp.com/oauth2 的返回值为GET参数,参数说明:

字段名
中文
类型
默认值
可空(Y/N)
描述
status
状态码
string
N
200表示成功,其余均为失败
code
状态值
string
N
用于获取access_token
state
渠道商自定义内容
string
Y
渠道商自定义内容

https://xiuxian.junphp.com/oauth2/access_token 的返回值为JSON类型,参数说明:

字段名
中文
类型
默认值
可空(Y/N)
描述
status
状态码
string
N
200表示成功,其余均为失败
msg
返回值说明
string
N
返回值说明
access_token
请求凭证
string
N
用于获取用户信息

https://xiuxian.junphp.com/oauth2/get_user 的返回值为JSON类型,参数说明:

字段名
中文
类型
默认值
可空(Y/N)
描述
status
状态码
string
N
200表示成功,其余均为失败
msg
返回值说明
string
N
返回值说明
user_id
用户ID
string
N
用户在神牛教的身份ID
name
用户名
string
N
nick
昵称
string
N

7、状态码说明

状态码 说明
200 请求成功
10001 AppId错误
10002 redirect_uri错误
10003 AppId 或 Code错误
10004 AppId 或 Access_Token错误
10005 服务器异常

×
极资源 - PHP在线解析器