春柔 發表於 2020-6-1 18:03:00

微信-公众号-网页授权开发

<h1 id="场景">场景</h1>
<p>近期项目需要通过关注公众号获取用户信息,于是我抓着脑袋看了一下文档o(╥﹏╥)o</p>
<h1 id="流程">流程</h1>
<h2 id="首先肯定要有一个公众号这里我们可以先自行申请测试号">首先肯定要有一个公众号,这里我们可以先自行申请测试号</h2>
<p><img src="https://img2020.cnblogs.com/blog/1669651/202006/1669651-20200601171207239-471969965.png" alt="" loading="lazy"><br>
刚开始以为申请测试号时接口配置信息 URL 和 token是要必填的,后来发现申请测试号不需要填这些。</p>
<h2 id="关注一下测试号">关注一下测试号</h2>
<p><img src="https://img2020.cnblogs.com/blog/1669651/202006/1669651-20200601173117308-2049710210.png" alt="" loading="lazy"></p>
<h2 id="授权回调页面域名">授权回调页面域名</h2>
<p><img src="https://img2020.cnblogs.com/blog/1669651/202006/1669651-20200601173145447-1685892617.png" alt="" loading="lazy"><br>
<img src="https://img2020.cnblogs.com/blog/1669651/202006/1669651-20200601173213726-934408056.png" alt="" loading="lazy"><br>
这里授权将要展示的页面域名,记住只填写域名即可,不要带http(s)或具体页面,之前带了http和页面信息,<br>
点击链接会提示redirect_uri参数错误。<br>
<img src="https://img2020.cnblogs.com/blog/1669651/202006/1669651-20200601173809370-715525574.png" alt="" loading="lazy"></p>
<h2 id="配置好上面后我们开始步入正题-网页授权">配置好上面后,我们开始步入正题-网页授权</h2>
<h3 id="这里网页授权分为两种">这里网页授权分为两种:</h3>
<p>1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)<br>
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。<br>
3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。</p>
<h3 id="用户同意授权获取code">用户同意授权,获取code</h3>
<p>在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面:<br>
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&amp;redirect_uri=REDIRECT_URI&amp;response_type=code&amp;scope=SCOPE&amp;state=STATE#wechat_redirect 若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。<br>
<img src="https://img2020.cnblogs.com/blog/1669651/202006/1669651-20200601175053799-282270624.png" alt="" loading="lazy"><br>
例:<code>https:&nbsp;//open.weixin.qq.com/connect/oauth2/authorize?appid=wxcd59ffcb1721e72f&amp;redirect_uri=http%3A%2F%2F192.168.0.116%3A5500%2Fauth%2Findex.html&amp;response_type=code&amp;scope=snsapi_base&amp;state=123#wechat_redirect</code><br>
这里redirect_uri是http://192.168.0.116:5500/auth/index.html,是要经过urlEncode 转码处理才可以使用。</p>
<h2 id="在微信开发工具上测试">在微信开发工具上测试</h2>
<p>在开发工具上输入链接地址<br>
<img src="https://img2020.cnblogs.com/blog/1669651/202006/1669651-20200601175616576-740249628.png" alt="" loading="lazy"><br>
<img src="https://img2020.cnblogs.com/blog/1669651/202006/1669651-20200601175717089-1666798724.png" alt="" loading="lazy"><br>
这里运行链接后会自动转换链接,拿到code参数。</p>
<h2 id="之后可以向后台传code换取openid">之后可以向后台传code,换取openID</h2>
<h1 id="效果">效果</h1>
<p><img src="https://img2020.cnblogs.com/blog/1669651/202006/1669651-20200601180257967-1174154570.gif" alt="" loading="lazy"></p><br><br>
来源:https://www.cnblogs.com/lpp-11-15/p/13025577.html
頁: [1]
查看完整版本: 微信-公众号-网页授权开发