laravel 配置微信公眾號時{errcode:-106,errmsg:token check fail}

一、問題描述

做微信授權登錄時,遇到的一個坑,提示配置失敗,F12,響應為 errcode":-106,"errmsg":"token check fail

?

?

?

二、解決方案:

注:宗旨就是讓微信能夠訪問你填寫的網址,并且返回值和微信端要求的一樣,則會判定你的開發者身份,并配置成功。

接下來請確認下面每一步你都做了,這里使用的是Laravel框架。

1、配置路由

路由文件為 /routes/web.php,添加下面代碼,將請求跳轉到控制器中。

Route::get('/wechat-verify', 'wechat\WechatVerify@connectWechat');

?

2、供微信驗證開發者身份的控制器文件?app\Http\Controllers\wechat\WechatVerify.php

<?php
declare(strict_types = 1);
namespace App\Http\Controllers\wechat;
use Illuminate\Http\Request;// 這里定義你在 接口配置信息中 要填寫的token
define('WECHAT_VERIFY_TOKEN', 'haveyb');/*** 專用于和微信交互驗證開發者身份*/
class WechatVerify
{/*** 自定義方法,用于微信訪問驗證開發者身份** @param Request $request* @return array|null|string*/public function connectWechat(Request $request){$signature = $request->input('signature');$timestamp = $request->input('timestamp');$nonce = $request->input('nonce');$echoStr = $request->input('echostr');if ($this->checkSignature($signature, $timestamp, $nonce)) {return $echoStr;} else {return 'Token verification failed.';}}/*** 微信官方提供的驗簽方法** @param $signature* @param $timestamp* @param $nonce* @return bool*/private function checkSignature($signature, $timestamp, $nonce){$token = WECHAT_VERIFY_TOKEN;$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr, SORT_STRING);$tmpStr = implode($tmpArr);$tmpStr = sha1($tmpStr);if ($tmpStr == $signature) {return true;} else {return false;}}}


3、修改 app\Http\Middleware\VerifyCsrfToken.php文件

找到 $except 數組,添加上一步配置的路由 wechat-verify(這一步是添加csrf白名單)
protected $except = ['user','wechat-verify'
];

?

4、到微信公眾號去填寫參數并驗證

http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

?

這樣,微信公眾號的token就配置成功了。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282075.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282075.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282075.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電商企業怎樣用好大數據

電商企業怎樣用好大數據 大數據正在促生新的藍海&#xff0c;催生新的經濟增長點&#xff0c;正在成為政府和企業競爭的新焦點。2012年&#xff0c;瑞士達沃斯論壇發布《大數據&#xff0c;大影響》報告&#xff0c;稱“數據已經成為一種新的經濟資產類別&#xff0c;就像貨幣或…

ORACLE經常使用系統查詢

&#xfeff;&#xfeff;1 查詢系統全部對象 SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, LAST_DDL_TIME, TIMESTAMP, STATUS FROM DBA_OBJECTS WHERE OWNERUPPER(SCOTT) 2 查看系統全部表 SELECT OWNER, TABLE_NAME, TABLESPACE_NAME FROM DBA_TABLES 3 查看全部用…

Safari 版本回退方法

回退條件 版本回退的前提是關閉電腦的SIP機制&#xff0c;命令行 csrutil status 檢測狀態。Mac os 10.14以下版本回退Safari后插件還是可以用的&#xff0c;升了新系統退了也沒法用了。我的是舊系統 SIP關閉方法 1 重啟MAC&#xff0c;按住cmdR直到屏幕上出現蘋果的標志和進度…

同步方法 調用異步防范_Spring一個注解實現方法的異步調用,再也不用單開線程了...

介紹同步調用先來演示一下什么是同步調用測試方法輸出如下doTaskOne start 1566121320372doTaskOne end 1566121321373doTaskTwo start 1566121321373doTaskTwo end 1566121322374可以看到方法一執行完畢&#xff0c;方法二才會執行異步調用不返回值1.Spring Boot啟動類上加Ena…

使用docker搭建redis主從

一、構建 Docker 環境 1、創建 dockerfile FROM centos:latest RUN groupadd -r redis && useradd -r -g redis redis RUN yum -y update && yum -y install epel-release && yum -y install redis && yum -y install net-tools EXPOSE 63…

【源碼探索】.NET中的List,是哪種數據結構

“當你提出疑問并開始思考時&#xff0c;答案就離你不遠了”圖片&#xff1a;奧森公園的向日葵 拍攝于2022年7月23日 攝影師&#xff1a;劉先生01—問題緣起嚴格來說應該是List<T>&#xff0c;因為.NET的核心基礎類庫中&#xff0c;并沒有List&#xff0c;作為泛型類型的…

dpdk對虛擬化的支持調研

目錄&#xff1a; 虛擬化dpdk的實現研究 virtiovhostSR-IOV熱遷移相關研究拓展本文記錄近期對dpdk在虛擬化和云計算領域應用的研究成果&#xff0c;內容梳理如下。 虛擬化 虛擬化&#xff0c;抽象來說&#xff0c;就是將物理資源邏輯化。具體來說&#xff0c;虛擬技術的實現是在…

服務器環境

一 linux 系統搭建Java項目環境 1 環境準備&#xff1a;jdk,tomcat, nginx,reids,mysql jdk:java環境 Tomcat&#xff1a;Java項目服務器 nginx&#xff1a;項目靜態資源&#xff0c;域名解析&#xff08;ssl&#xff09; redis: 項目可能會用到 mysql: 數據庫 環境轉載于:htt…

隱藏鍵盤_三星新專利:帶有隱藏鍵盤的三折疊屏手機

10月31日消息 眾所周知&#xff0c;三星現已推出四款折疊屏機型(Fold、Fold 2、Z Flip、W20)&#xff0c;而此前多有傳言表示三星下一代折疊屏機型(以 Galaxy Z Fold 3 代稱)將在目前折疊屏手機的基礎上增加 S Pen&#xff0c;而昨日公布的一份專利也側面輔證了這一說法。此外&…

Blazor學習之旅(3)實現一個Todo應用

【Blazor】| 總結/Edison Zhou大家好&#xff0c;我是Edison。最近在學習Blazor做全棧開發&#xff0c;因此根據老習慣&#xff0c;我會將我的學習過程記錄下來&#xff0c;一來體系化整理&#xff0c;二來作為筆記供將來翻看。本篇&#xff0c;我們通過一個簡單的Todo示例應用…

JavaScript 省市級聯效果

為什么80%的碼農都做不了架構師&#xff1f;>>> JavaScript 省市級聯效果 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">2 <html xmlns"http…

20分鐘完成Mac上的 LNMP 環境部署,優雅·高效開發(Docker方式)

一、前言 對于很多開發者來說&#xff0c;突然轉到在 mac 系統開發&#xff0c;可能會非常難受&#xff0c;主要有以下幾個原因 1、mac 上安裝軟件程序坑多&#xff0c;比如安裝 PHP、Nginx&#xff0c;會存在很多使用 linux 或 windows 時沒有遇到過的坑 2、對 mac 系統不熟…

可編程交換時代就在這里

在第一批網絡處理器推出20年后&#xff0c;我們正在向完全可編程數據平面邁進&#xff0c;網絡運營商在虛擬化方面的努力推動了這一趨勢的發展。 大多數物理網絡系統正在被運行在網絡核心和邊緣的服務器上的虛擬網絡功能&#xff08;VNF&#xff09;取代。這些服務器一般采用通…

【智力大沖浪】

【智力大沖浪】riddle內存限制&#xff1a; 128M【題目描述】例 1 智力大沖浪&#xff08;riddle.pas&#xff09;。【題目描述】小偉報名參加中央電視臺的智力大沖浪節目。本次挑戰賽吸引了眾多參賽者&#xff0c;主持人為了表彰大家的勇氣&#xff0c;先獎勵每個參賽者 m 元。…

調試 不彈出 小米_時隔六年,小米NFC碰碰貼復活,碰一下自動亮燈、聯網、投屏...

有朋友問我&#xff0c;NFC除了刷門禁、刷公交、離線支付外&#xff0c;還能干什么&#xff1f;實際上NFC的應用場景遠不止于此&#xff0c;今天就帶大家開開眼界。今年是小米十周年&#xff0c;各種酷玩新品不斷&#xff0c;其中“小米碰碰貼2”就是一款便宜又好玩的產品。小米…

微信小程序把玩(三)tabBar底部導航

為什么80%的碼農都做不了架構師&#xff1f;>>> tabBar相對而言用的還是比較多的&#xff0c;但是用起來并沒有難&#xff0c;在app.json中配置下tabBar即可&#xff0c;注意tabBar至少需要兩個最多五個Item選項 主要屬性&#xff1a; 對于tabBar整體屬性設置&…

WPF 之列表分頁控件

WPF 之列表分頁控件控件名&#xff1a;WindowAcrylicBlur作者&#xff1a; WPFDevelopersOrg - 黃佳 | 驚鏵原文鏈接&#xff1a; https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40。Visual Studio 2022。項目使用 MIT 開源許可協議。新建Paginat…

高并發下防止庫存超賣解決方案

一、概述 目前網上關于防止庫存超賣&#xff0c;我沒找到可以支持一次購買多件的&#xff0c;都是基于一次只能購買一件做的秒殺方案&#xff0c;但是實際場景中&#xff0c;一般秒殺活動都是支持&#xff11;&#xff5e;&#xff15;件的&#xff0c;因此為了補缺&#xff0…

【幾何/分治】【最短路】【數學期望】Day 10.24

1、斜率 可以證明如果兩點之間還有一點的話那么原來的兩個點連線一定不會是最大斜率 然后我就寫了個沙茶分治………… 其實根據上面的推論只用枚舉相鄰的兩個點&#xff0c;掃一遍就可以了 1 #include <cstdio>2 #include <algorithm>3 #include <iostream>4…

K8s 介紹

過去一段時間&#xff0c;公司事情比較多&#xff0c;現在稍微能好點&#xff0c;今天進一步驗證自己K8S 集群環境&#xff0c;遇到不少問題&#xff0c; 發現從自己的master 上無法訪問node 的pod&#xff0c; 然后一堆search 。 config 。。 [rootk8s-master ~]# systemctl s…