微信授权小介绍
官网文档
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html#
我实现的流程如下
-
登录
https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
获取测试账户 -
微信扫码后,能获取以下信息
-
设置回调页面的域名(外网能访问到的)
-
用微信开发者工具开始授权流程(选中公众号页面)
-
第一步:用户同意后,访问授权页面获取code值,访问地址:
https://open.weixin.qq.com/connect/oauth2/authorize? appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
REDIRECT_URI :外网可以访问到的后台接口地址(需要加上域名前缀,例如:http://之类,确保code的安全性)
-
通过code来换取页面授权的access_token值,访问地址:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
访问此地址正确返回是
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
返回参数说明:
-
验证access_token 的正确性,访问地址为
https://api/weixin.qq.com/sns/auth?Acess_token=ACCESS_TOKEN&openid=OPENID
-
如果错误返回,需要访问刷新token的接口,访问地址:
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
返回参数如下:
注意点:更新新的access_token -
获取用户信息访问地址:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
接口返回参数说明:
内网映射:
我这里推荐NATAPP,简单方便
地址:https://natapp.cn/