本节来说一下微信公众号token验证问题,关于微信公众号token验证是微信开发前期的必要过程。主要是为了验证服务器是否属于你,也可以理解为你是否拥有使用此服务器的权限。
一、开发流程
接入微信公众平台开发,开发者需要按照如下步骤完成:
1、填写服务器配置
2、验证服务器地址的有效性
3、依据接口文档实现业务逻辑
二、说明
关于此流程微信开发文档介绍的很清晰,在此不做演示。
三、示例代码
服务器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、校验是如果确定路径及代码无错,可稍后点击,避免缓存;