微信授权详细步骤
2018-04-04 09:50
183 查看
注意:
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
在开发者工具中访问如下链接获取code
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx845ef52f84d372d7&redirect_uri=https%3a%2f%2fwww.baidu.com&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
访问回调地址时会将参数带上:https://www.baidu.com/?code=061d7AN61ODKYQ11f8O61CSyN61d7ANm&state=STATE
请求如下路径获取授权token(比较特殊)
https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx845ef52f84d372d7&secret=c32b464b634155256b6965fc7b66b185&code=081tayaJ0Taa5j2c6bcJ0xIJaJ0tayaG&grant_type=authorization_code
访问后返回信息如下:
{
“access_token”: “my-LyKqwgYpEllMW6E6KUcKPqfR5c8Uta-pvdAEPbXbEur-W2ymLYiJ90L1C3WMbe-Vd6Hlkjuk7FKrlvaYa0A”,
“expires_in”: 7200,
“refresh_token”: “qmJ2q-GAJKg2OObdt5kWdVvKwNU4NtDLWdQxU0bceem4jjH3ZtlfI1qiVj1C8R_WSeAoY8YWfpfF9WNDcgsA-A”,
“openid”: “oMDVRxINuXL8hyrnmUizVws56TBM”,
“scope”: “snsapi_userinfo”
}
获取用户信息
访问如下链接:
https://api.weixin.qq.com/sns/userinfo?access_token=my-LyKqwgYpEllMW6E6KUcKPqfR5c8Uta-pvdAEPbXbEur-W2ymLYiJ90L1C3WMbe-Vd6Hlkjuk7FKrlvaYa0A&openid=oMDVRxINuXL8hyrnmUizVws56TBM&lang=zh_CN
结果如下:
{
“openid”: “oMDVRxINuXL8hyrnmUizVws56TBM”,
“nickname”: “敨戕”,
“sex”: 1,
“language”: “zh_CN”,
“city”: “”,
“province”: “”,
“country”: “丕国”,
“headimgurl”: “http://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83ep13nA84lrQxfmH9Q6bZFiagJ807y8MMjVkLKO2XaGicQNE4OKEDnUSWIz7bdtQ3wGMzKib26qMJX6dA/0“,
“privilege”: []
}
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
在开发者工具中访问如下链接获取code
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx845ef52f84d372d7&redirect_uri=https%3a%2f%2fwww.baidu.com&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
访问回调地址时会将参数带上: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”
}
获取用户信息
访问如下链接:
https://api.weixin.qq.com/sns/userinfo?access_token=my-LyKqwgYpEllMW6E6KUcKPqfR5c8Uta-pvdAEPbXbEur-W2ymLYiJ90L1C3WMbe-Vd6Hlkjuk7FKrlvaYa0A&openid=oMDVRxINuXL8hyrnmUizVws56TBM&lang=zh_CN
结果如下:
{
“openid”: “oMDVRxINuXL8hyrnmUizVws56TBM”,
“nickname”: “敨戕”,
“sex”: 1,
“language”: “zh_CN”,
“city”: “”,
“province”: “”,
“country”: “丕国”,
“headimgurl”: “http://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83ep13nA84lrQxfmH9Q6bZFiagJ807y8MMjVkLKO2XaGicQNE4OKEDnUSWIz7bdtQ3wGMzKib26qMJX6dA/0“,
“privilege”: []
}
相关文章推荐
- 微信小程序授权获取用户详细信息openid的实例详解
- laravel 5.6接入微信第三方授权登陆的主要步骤
- Android打开微信本地数据库详细步骤二
- 微信公众号之订阅号(已认证)实现oauth2授权登录详细步骤介绍
- 微信第三方登录(静默授权和非静默授权)实例步骤
- 获取微信此详细授权的code
- 微信授权登陆接入第三方App(步骤总结)Android
- 微信授权登陆步骤
- 微信h5静默、非静默授权获取用户openId的方法和步骤
- 破解win2003“终端服务器授权”激活许可证的详细步骤
- Android打开微信本地数据库详细步骤一
- 微信授权步骤与详解 -- c#篇
- 微信网页授权和部分公众号接口接入(详细流程介绍)
- [置顶] 微信授权登陆接入第三方App(步骤总结)Android。
- php微信支付(仅pc端扫码支付模式二)详细步骤.----仅适合第一次做微信开发的程序员
- Android编程之微信SDK分享功能过程步骤详细分析
- 微信小程序授权获取用户详细信息openid的实例详解
- XMPP框架 微信项目开发之XMPP框架的导入——XMPP框架导入的详细步骤
- 微信小程序授权获取用户详细信息openid的实例详解
- Android编程之微信SDK分享功能过程步骤详细分析