php网页微信登录验证失败,微信开发Token验证失败解决方法
本篇文章中讲述了在微信开发中遇到Token验证失败的解决方法,对微信开发感兴趣的或者遇到过token验证失败解决不了的,都可以看看本篇文章哦!废话少说,我们来进入正题吧!
微信小程序配置消息推送的时候一般都会出现Token验证失败的问题,这个错误是因为,你的接口页面还没有反馈正确的信息给微信接口,网友们也给出了一些解决方法,但有些能够配置成功,有些则不然。下面给出网友提供的2种比较容易配置成功的php接口验证代码。
代码示例一(我的验证可以成功):<?php
//1. 将timestamp , nonce , token 按照字典排序
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$token = "你自定义的Token值";
$signature = $_GET['signature'];
$array = array($timestamp,$nonce,$token);
sort($array);
//2.将排序后的三个参数拼接后用sha1加密
$tmpstr = implode('',$array);
$tmpstr = sha1($tmpstr);
//3. 将加密后的字符串与 signature 进行对比, 判断该请求是否来自微信
if($tmpstr == $signature)
{
echo $_GET['echostr'];
exit;
}
代码示例二:<?php
/**
* wechat php test
*/
//define your token
define("TOKEN", "自定义token");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
public function responseMsg()
{
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//extract post data
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = "
%s
0
";
if(!empty( $keyword ))
{
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo "Input something...";
}
}else {
echo "";
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>
以上两种实例代码选择一种直接上传到你的服务器上,在消息配置中的url(服务器地址写上php文件的服务器地址),填入对应的自定义Token(令牌),消息加密密钥随机生成即可,加密方式我的填了兼容模式,数据格式随个人喜好吧(我的填了JSON)。然后直接点击提交即可。如果出现下图说明验证通过了:
大家遇到过Token验证错误的可以看看哦!帮助你更快的解决token的难题!
相关推荐:
php网页微信登录验证失败,微信开发Token验证失败解决方法相关推荐
- java微信公众号开发token验证失败的问题及解决办法
java微信公众号开发token验证失败的问题及解决办法 参考文章: (1)java微信公众号开发token验证失败的问题及解决办法 (2)https://www.cnblogs.com/beardu ...
- 对于微信二维码相关官方文档的一些注解(微信登录和绑定微信、关注公众号)
转载自:https://www.jianshu.com/p/d533c69be034 由于微信官方文档对此的描述虽然还可以,但是还是有一些让人疑惑的地方,所以笔者做了一些注解,希望对大家有所帮助 为什 ...
- 技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-6.用户登录(二),token验证
技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-6.用户登录(二),token验证 技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-1.工具和本 ...
- lol微信登录服务器,lol开放微信登录功能 lol微信怎么登陆
lol开放微信登录功能 lol微信登录功能开放大区有哪些 英雄联盟在5月6日开放了部分大区的微信登录功能,玩家们现在可在目前开放了微信登录功能的 大区使用微信登录,但需要将微信账号与已有QQ账号进行绑 ...
- 微信公众号分享出现的报错和解决方法整合
微信分享链接出现config:invalid signature错误的解决方法 开发微信时需要做特定的页面做分享时,根据官方提供的jssdk.php文件创建的签名数据包调试时,大家碰到的最多的错误而且 ...
- php微信回复乱码,php版微信公众平台回复中文出现乱码问题的解决方法
本文实例分析了php版微信公众平台回复中文出现乱码问题的解决方法.分享给大家供大家参考,具体如下: 微信公众平开发时碰到回复中文乱码了,这个问题小编发现是编码问题,其实只要把编码转成utf8就可以解决 ...
- 微信nickname乱码 php,php版微信公众平台回复中文出现乱码问题的解决方法
本文实例分析了php版微信公众平台回复中文出现乱码问题的解决方法.分享给大家供大家参考,具体如下: 微信公众平开发时碰到回复中文乱码了,这个问题小编发现是编码问题,其实只要把编码转成utf8就可以解决 ...
- sql无法打开用户默认数据库,登录失败,用户‘sa’登录失败,错误:4064的解决方法
sql无法打开用户默认数据库,登录失败,用户'sa'登录失败,错误:4064的解决方法 无法打开用户默认数据库,登录失败,这是因为登录帐户的默认数据库被删除. 解决方案:用window ...
- 微信上传图文素材接口报41005错误解决方法
微信上传图文素材接口报41005错误解决方法 参考文章: (1)微信上传图文素材接口报41005错误解决方法 (2)https://www.cnblogs.com/gy1010/p/6674529.h ...
- login控件“您的登录尝试不成功。请重试”的解决方法
login控件"您的登录尝试不成功.请重试"的解决方法 原文:login控件"您的登录尝试不成功.请重试"的解决方法 遇到login控件"您的登录尝试 ...
最新文章
- 亚信安全服务器深度安全防护系统中标“世界最长”的城轨网络
- CentOS 7安装gitlab服务器
- 第十八章 33用重载输出运算符函数实现字符串的输出
- 图解四种启动模式 及 实际应用场景解说
- VC 系统托盘编程,含有气泡提示
- csrf 攻击和防御
- python中try...except的用法_提高开发效率,从避免滥用 try...except... 开始
- QML 界面切换的几种方法
- java dot画图_小O的图案 (Java代码)(最简单的解法)
- 任务调度、磁盘、进程管理、PRM和YUM
- 第二季-专题2-我从内部看ARM
- phpSQLiteAdmin - 基于Web的SQLite数据库管理工具 - OPEN 开发经验库
- 学画画软件app推荐_学画漫画的APP有哪些?2018动漫绘画学习软件推荐
- t/p命令的区别 cs和ds
- DatePickerDialog的确定和取消按钮
- 取消word文档中某些页面的页眉
- 7. ShowWindow
- 1000瓶水里面有一瓶毒水,通过用兔子去喝水的方式检验,只能让兔子喝一次水,那么最少用多少只兔子检验出来是哪一瓶?
- 大数据可视化(六)文本数据可视化
- PHP自动排班系统 源码+说明
热门文章
- 3_寻找假币问题(分治法)
- 安装ROS中出现bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录或者bash: /opt/ros/kinetic/setup.bash:的解决办法
- 阿里、美团、Oracle凭这套题不知道刷了多少人
- [CityHunter]点击ListView项目后修改其内容
- lighttpd 配置php,Lighttpd常用配置方法
- 未能完成该操作pkdownloaderror错误8_国家励志奖学金申请和审批操作指南
- 一级路由器映射二级路由器端口映射
- 四叶草数 ---JAVA代码实现
- 针对笔记本双显卡安装ubuntu16.04双系统,开机只显示背景图解决办法
- 回顾2022,展望2023,笔耕不辍,钟情翰墨