1.简介
通过用户验证登录和授权获取Access Token,为下一步获取第三方用户基本信息做准备。
注意微信网页授权设置,在微信公众号->网页授权获取用户基本信息域名不能带有http://,授权域名例如:www.aimlt.com
2.过程详解
Step1:获取Authorization Code
请求地址 | 请求方法 |
/oauth/authorize | GET |
请求参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
response_type | String | 是 | 4 | 授权类型,此值固定为“code” |
|
client_id | String | 是 | 32 | 申请金康云登录成功后,分配给应用的appid |
|
redirect_uri | String | 是 | 256 | 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心。注意需要将url进行URLEncode |
|
state | String | 是 | 120 | 原样带回参数 |
|
scope | String | 是 | 15 | 授权模式,此值固定为“get_wx_user_info” |
|
wxid | String | 是 | 32 | 微信ID |
|
返回说明:
1. 如果用户成功登录并授权,则会跳转到指定的回调地址,并在redirect_uri地址后带上Authorization Code和原始的state值。如:
PC网站:http://www.aimlt.com/demo/index.jsp?code=3DFGH************************67JKH&state=test
注意:此code会在10分钟内过期且只能使用一次。
2. 如果用户在登录授权过程中取消登录流程,对于PC网站,登录页面直接关闭;对于WAP网站,同样跳转回指定的回调地址,并在redirect_uri地址后带上usercancel参数和原始的state值,其中usercancel值为非零,如:
http://open.z.aimlt.com/demo/index.jsp?usercancel=1&state=test
Step2:通过Authorization Code获取Access Token
请求地址 | 请求方法 |
/oauth/token | GET/POST |
请求参数
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
grant_type | String | 是 | 18 | 授权类型,此值固定为“authorization_code” |
|
client_id | String | 是 | 32 | 申请金康云登录成功后,分配给应用的appid |
|
redirect_uri | String | 是 | 256 | 与上面一步中传入的redirect_uri必须保持一致 |
|
client_secret | String | 是 | 32 | 申请金康云登录成功后,分配给网站的appkey。 |
|
code | String | 是 | 32 | 上一步返回的authorization code。 如果用户成功登录并授权,则会跳转到指定的回调地址,并在URL中带上Authorization Code。 |
|
返回示例
如果成功返回,即可在返回包中获取到Access Token。 如:
{
"access_token":"39e0dea2ed932f0bbe6b6f29b2a763b362f8d30c7446b3e3da71dfa661f568979c7d0580614d83d8",
"expires_in":1578582025,
"refresh_token":"48c0f6d14e4a4ea8883c8f17d885380957fb992957bf9fb176fd2f0b6fe6794bcdf3acff434b29db1b6dc94f927618235703de8f927f59df811cb4dd",
"scope":"get_user_info"
}
返回参数说明
参数 | 描述 |
access_token | 授权令牌,Access_Token |
expires_in | 该access token的有效期,Unix时间戳 |
refresh_token | 在授权自动续期步骤中,获取新的Access_Token时需要提供的参数。注:refresh_token仅一次有效 |
scope | 授权模式
|
下一步
获取第三方用户信息