2023thinkphp token失败怎么办

 所属分类:php教程

 浏览:229次-  评论: 0次-  更新时间:2022-12-14
描述:更多教程资料进入php教程获得。 thinkphp token失败的解决办法:1、打开微信小程序token校验代码;2、在输出“echostr”前,清空缓存区,...
更多教程资料进入php教程获得。

thinkphp token失败的解决办法:1、打开微信小程序token校验代码;2、在输出“echostr”前,清空缓存区,也就是在echo前放置“ob_clean();”代码即可解决token失败问题。

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境:Windows7系统、ThinkPHP5版、Dell G3电脑。

thinkphp token失败怎么办?

解决ThinkPHP微信小程序token校验失败

今天在做微信小程序的学习,申请了一个小程序账号,申请步骤:微信小程序开发-注册账号。

在进行开发配置过程中,需要填写服务器信息,校验token,但是一直是校验失败的状态,看了他人的处理方式,总结出来了办法,分享出来。

解决办法:在输出“echostr”前,清空缓存区,即在echo 前放置“ob_clean();”代码。

官方解释:ob_clean()  此函数用来丢弃输出缓冲区中的内容;

校验代码如下:

/**
 * 微信小程序token校验
 * @return bool
 */
public function wxtoken()
{
    $signature = input('get.signature');
    $timestamp = input('get.timestamp');
    $nonce = input('get.nonce');
    $token = '1234567';
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode($tmpArr);
    $tmpStr = sha1($tmpStr);
    if($tmpStr == $signature){
        ob_clean();
        echo input('get.echostr');
    }else{
        return false;
    }
}
登录后复制

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

加密/校验流程如下:

1、将token、timestamp、nonce三个参数进行字典序排序

2、将三个参数字符串拼接成一个字符串进行sha1加密

3、开发者获得加密后的字符串可与signature对比,标识该请求来源于微信;

推荐学习:《thinkPHP视频教程》

以上就是thinkphp token失败怎么办的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: thinkphp,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!