注意:
1. redirect_uri要经过urlencode加密,并且要使用带有https的域名
2. 尤其注意:由于公众号的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。
3. code最多五分钟过期
4. 授权后再次访问1中的链接,会短暂显示”您近期已关注该公众号,无需重复关注”,但是后边还是会执行接口访问
5. 如果授权后,不想再次访问授权接口,可以通过调用自定义接口查找session或数据库
6. 普通token用来调用微信的其他接口
公众号可以使用AppID和AppSecret调用本接口来获取access_token,该token需两小时刷新一次
使用测试账号的实践:
【参考链接】https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
访问回调地址时会将参数带上:https://www.baidu.com/?code=061d7AN61ODKYQ11f8O61CSyN61d7ANm&state=STATE
code:081tayaJ0Taa5j2c6bcJ0xIJaJ0tayaG state:STATE from:844b vit:fps
请求如下路径获取授权token(比较特殊)
https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx845ef52f84d372d7&secret=c32b464b634155256b6965fc7b66b185&code=081tayaJ0Taa5j2c6bcJ0xIJaJ0tayaG&grant_type=authorization_code返回access_token和openid
访问后返回信息如下:
{
“access_token”: “my-LyKqwgYpEllMW6E6KUcKPqfR5c8Uta-pvdAEPbXbEur-W2ymLYiJ90L1C3WMbe-Vd6Hlkjuk7FKrlvaYa0A”,
“expires_in”: 7200,
“refresh_token”: “qmJ2q-GAJKg2OObdt5kWdVvKwNU4NtDLWdQxU0bceem4jjH3ZtlfI1qiVj1C8R_WSeAoY8YWfpfF9WNDcgsA-A”,
“openid”: “oMDVRxINuXL8hyrnmUizVws56TBM”,
“scope”: “snsapi_userinfo”
}-
结果如下:
{
“openid”: “oMDVRxINuXL8hyrnmUizVws56TBM”,
“nickname”: “敨戕”,
“sex”: 1,
“language”: “zh_CN”,
“city”: “”,
“province”: “”,
“country”: “丕国”,
“headimgurl”: “http://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83ep13nA84lrQxfmH9Q6bZFiagJ807y8MMjVkLKO2XaGicQNE4OKEDnUSWIz7bdtQ3wGMzKib26qMJX6dA/0“,
“privilege”: []
}
-