首页 > php框架 > ThinkPHP > 正文

thinkphp token失败怎么办

藏色散人
发布: 2022-12-06 09:50:31
原创
2376人浏览过
thinkphp token失败的解决办法:1、打开微信小程序token校验代码;2、在输出“echostr”前,清空缓存区,也就是在echo前放置“ob_clean();”代码即可解决token失败问题。

thinkphp token失败怎么办

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

thinkphp token失败怎么办?

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

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

立即学习PHP免费学习笔记(深入)”;

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

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

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

轻舟办公
轻舟办公

基于AI的智能办公平台

轻舟办公 194
查看详情 轻舟办公

校验代码如下:

/**
 * 微信小程序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失败怎么办的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号