前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >公众号开发之万丈高楼平地起

公众号开发之万丈高楼平地起

作者头像
桑先生
发布2019-12-17 10:47:15
3290
发布2019-12-17 10:47:15
举报
文章被收录于专栏:桑先生的专栏桑先生的专栏

没啥好写的了.也懒得写了.碰巧这几天在开发公众号.所以记录下开发公众号的相关流程.

首先在基础配置中设置白名单.也就是将服务器的ip地址写进去.很简单不多逼逼

然后配置服务器配置

这里url为路由.直接配置到方法就行.需要注意的是必须以http://或https://开头,分别支持80端口和443端口.

这里的token ,你可以自己随意定义一个.此token非彼token,用作生成签名.

这里的EncodingAESKey随机生成一个直接保存就好,用作消息体加解密密钥.

消息加解密方式默认就行.

然后接下来验证服务器来自微信服务器:

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下所示:

参数

描述

signature

微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。

timestamp

时间戳

nonce

随机数

echostr

随机字符串

开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:

1)将token、timestamp、nonce三个参数进行字典序排序 2)将三个参数字符串拼接成一个字符串进行sha1加密 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

检验signature的PHP示例代码:

代码语言:javascript
复制
 public function index()//验证服务器!
    {
        //获得参数 signature nonce token timestamp echostr
        $nonce     = $_GET['nonce'];
        $token     = 'test'; // 前期填写的token
        $timestamp = $_GET['timestamp'];
        $echostr   = $_GET['echostr'];
        $signature = $_GET['signature'];
        //形成数组,然后按字典序排序
        $array = array();
        $array = array($nonce, $timestamp, $token);
        sort($array);
        //拼接成字符串,sha1加密 ,然后与signature进行校验
        $str = sha1( implode( $array ) );
        if( $str  == $signature && $echostr ){
            //第一次接入weixin api接口的时候
            echo  $echostr;
            exit;
        }
    }

然后在公众号里面提交测试.因为微信官方的问题.可能存在失败,多次尝试就好.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档