美文网首页
微信网页授权获取code

微信网页授权获取code

作者: w晚风 | 来源:发表于2020-08-24 14:21 被阅读0次

官方文档

首先要做微信网页授权之前我们需要做些准备,申请公众号,但个人公众号在没有进行认证的情况下,权限不足,所以我这里是先用的测试号,权限很多,可用于开发时进行测试,
测试号登录地址:
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

可以看到那里有需要你进行的配置信息
image.png

往下看


image.png
image.png
对了,不要加上http://
接口配置信息修改

可以先阅读接口指南
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html

说白了就是让你在后台写个get请求的接口。而Token就是类似与字段值,在测试号这里配置的,跟接口里设置的相同就好了。
事实上只要是个get请求的接口,而且返回是 echost参数内容那就是成功的


image.png

但微信官方为了安全起见,不建议我们之前这样返回,而经过了一些处理


image.png

接口代码实例有:java,php,c#,c++等,就是没有ndoe的,哈哈,但是还是可以看着写出来的

async index() {
    const { ctx, app } = this;
    let { signature, echostr, timestamp, nonce } = ctx.query;
    
    console.log(ctx.query)
    
    const token = 'zwp123'; // 这里也就是配置里面的token了,可随便设置,只要是一样的就好
    
    // 将token、timestamp、nonce三个参数进行字典序排序
    const arr = [token, timestamp, nonce];
    arr.sort();
    
    // 将三个参数字符串拼接成一个字符串进行sha1加密
    const str = arr[0]+ arr[1] + arr[2];
    var sha1 = require('sha1'); // 这里需要你引入sha1进行加密
    
    // 开发者获得加密后的字符串可与signature对比
    if(sha1(str) === signature){
        ctx.body = echostr;
    }else{
        ctx.body = false;
    }
}

到了这里即可提交接口配置信息,在服务器后台可以看到get请求获取的参数信息,这样也就配置成功了

好了,那我们看看网页上是怎么写吧,如何获取code

image.png

官方文档写的很清楚,需要这些参数,那就直接给就好了

授权方式有两种,我这里选择的是第二种,重点是redirect_uri这里。一开始看文档看到我一头雾水,

这里需要写个接口用于接受code信息,在后台写好前端可否访问就行,一样是get请求

这里示例get请求auth接口
// 微信网页授权登录获取code
async auth() {
    const { ctx, app } = this;
    let { code } = ctx.query;
    
    console.log(ctx.query)
    ctx.body = code;
}
网页代码示例
<!DOCTYPE html>
<html>
    <head>
        <meta content="text/html;charset=utf-8" http-equiv="Content-Type" />    
        <title>微信网页授权登录</title>
    </head>
    <body> 
        <script>
            var local = encodeURI('http://zwp.xiat123.cn/auth') // 获取页面url
            var appid = 'wx74e1bXXXXXXf'
            
            window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='+ appid +'&redirect_uri='+ local  +'&response_type=code&scope=snsapi_userinfo#wechat_redirect'
        </script>
        
    </body>
</html>

当访问这个页面就能看到这个样子的页面,也就是用户是否同意登录


image.png

允许,则获取到code信息

相关文章

  • 微信网页授权的2种方式

    《微信网页授权》专题 1 第一步:用户同意授权,获取code 2 第二步:通过code换取网页授权access_t...

  • 微信网页授权获取code

    官方文档 首先要做微信网页授权之前我们需要做些准备,申请公众号,但个人公众号在没有进行认证的情况下,权限不足,所以...

  • nodejs request CURl 抓取网页数据

    Node 利用request获取API、网页数据 本例用于通过微信授权回调code获取UserInfo信息

  • 微信授权总结

    微信网页授权 开发步骤: (1)//$code有值说明用户同意授权,获取用户信息后进入列表页,$code没有值说明...

  • H5页面调用微信授权获取code

    H5调用微信授权获取code(微信公众号微信页面开发网页授权) 一、首先你要有一个公众号(公众号、订阅号),微信公...

  • 各三方网页OAuth登录获取openid和unionid

    微信 大致流程 获取code 》 获取access_token 获取code(前端) 网页跳转地址https://...

  • vue-cli使用HBuilderx打包app的坑

    微信授权登录提示code-2 appid和appsecret应该是移动应用,而非网页应用 微信授权登录提示code...

  • django: 微信网页授权

    微信网页授权基础知识 网页授权的最终目的就是获取微信的用户信息,微信的网页授权方式有两种 snsapi_base:...

  • 微信公众号开发(二)

    微信公众号开发文档 微信网页授权 微信客户端中访问第三方网页,可通过 微信网页授权机制 来获取用户信息。授权机制:...

  • 网页授权-前后端分离(springboot+vue)

    0.官方文档 微信网页授权步骤 --> 传送门 1.第一步:用户同意授权,获取code 组装鉴权链接--->在确...

网友评论

      本文标题:微信网页授权获取code

      本文链接:https://www.haomeiwen.com/subject/istnjktx.html