阿里云

微信公众号token验证

本节来说一下微信公众号token验证问题,关于微信公众号token验证是微信开发前期的必要过程。主要是为了验证服务器是否属于你,也可以理解为你是否拥有使用此服务器的权限。


一、开发流程

接入微信公众平台开发,开发者需要按照如下步骤完成:

1、填写服务器配置

2、验证服务器地址的有效性

3、依据接口文档实现业务逻辑

二、说明

关于此流程微信开发文档介绍的很清晰,在此不做演示。

timg (1).jpg

三、示例代码

服务器token验证码代码(Thinkphp5.0)如下:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019\3\24 0024
 * Time: 15:13
 */
namespace app\index\controller;

use think\Controller;

class Token extends Controller{
    /**
     * 服务器token校验
     */
    public function token()
    {
        //获得参数 signature nonce token timestamp echostr
        $nonce     = input('get.nonce');
        $token     = 'shenlin';
        $timestamp = input('get.timestamp');
        $echostr   = input('get.echostr');
        $signature = input('get.signature');
        //形成数组,然后按字典序排序
        $array = [$nonce, $timestamp, $token];
        sort($array);
        //拼接成字符串,sha1加密 ,然后与signature进行校验
        $str = sha1(implode($array));
        if($str == $signature && $echostr) {
            //第一次接入weixin api接口的时候
            echo $echostr;
            exit;
        }
    }
}


四、注意事项

1、文件不能含有bom头;

2、服务器校验路径一定要准确;

3、校验是如果确定路径及代码无错,可稍后点击,避免缓存;


喜欢就点个赞吧