- 首先要有一个公众号,并且有授权的权限.
- 应为在调用微信的 OAuth 认证的时候其中参数 中就有 appId所以要有公众号.当然这个公众号id可以判断你能不能调用这个接口,如果你没有这个参数就访问不到这个接口.(总得来说这个参数就是为了让你交钱才能调用)
- 当然这个公众号要设置一下,不能让你认证以后随便跳转(所以有了官方的下面说明)
- 1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;
- 2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权
- 然后就是在你的网页中有一个连接(网页中一是一个二维码手机扫描以后直接去这个地址)
- https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect (SCOPE 可以有两个值,既然是授权肯定要用户同意的所以选择snsapi_userinfo)
- 让用户点击以后进入微信的认证界面,认证以后会重定向到这个redirect_uri,并把code填充好(可以直接获取了)
- 接下来你就可以通过这个code 换取access_token,(access_token是有时间性的)
- https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
- appid secert 是公众号的 信息所以填你自己的
- 通过这个来获取access_token,然后就可以获取用户的基本信息了
- https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
- 用户信息有了,session 什么的 就可以做了,剩下的都一样了.
如何使用 ngrok + 域名 实现在本机跑测试
自己的域名解析
例如你域名是 abadone.com
添加规则 ngrok.abadone.com 指向域名 free.....ngrok.com(ngrok域名)
ngrok 里面要修改
自定义域名 ngrok.abadone.com
微信修改
用户权限中添加域名 ngrok.abadone.com
这样就可以在本地跑测试了