Home > Article > Backend Development > thinkphp5 WeChat public account token certification
This article introduces the content of thinkphp5 WeChat public account token authentication, which has certain reference value. Now I share it with everyone. Friends in need can refer to it
First of all, explain I developed the WeChat official account using the thinkphp5 framework. It would be very troublesome to develop without a framework. I started developing in the Ubuntu environment. Later, I encountered a problem that I couldn't solve, so I switched to the Windows development environment to develop, which saved me a lot of trouble. I use notepad as the editor. This editor is very powerful. The download address of thinphp5 is here: http://www.thinkphp.cn/down.html. I downloaded the core board. You can download it according to your personal preference;
Other configurations will be introduced below. First, you need to register a public account, and then you can log in, as shown in the figure below:
##After entering the interface, the detailed registration process will not be repeated. It is relatively simple. You can view the WeChat development documentation: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5. You can click to view it as needed. Here I want to say that if you are an individual user, choose a subscription account. If you want to use it for an enterprise, you can choose a service account, but it needs to be authenticated before you can use it. Individuals need to use their real names, and enterprises need enterprise authentication to confirm. After applying and logging in, enter the page as shown below, and then click on the basic configuration in the lower left corner:
Enter the configuration page as shown below:
The above has been configured. If it is not configured, the deactivation symbol in the picture displays the word enable, and the following The information has not been filled in. First, you need to click Modify Configuration, and then fill in the server URL address. This address must be accessible from the external network. The software used here is called natapp. The specific link is: https://natapp.cn/ login; After entering, register, and you need real-name authentication before you can purchase a channel. You can purchase a free channel, and then follow the tutorial to use your computer as a development environment. Of course, you can also apply to purchase other servers such as Alibaba Cloud and Sina Cloud. , Tencent Cloud, etc.;
Before doing WeChat development, you need to verify your developer identity, WeChat development team An authentication link is given: 1) Sort the three parameters token, timestamp, and nonce in lexicographic order 2) Splice the three parameter strings into one string for sha1 encryption 3) The developer obtains the encrypted characters The string can be compared with the signature to indicate that the request comes from WeChat; these three requests are actually very simple. Check the WeChat public development document, which also has the source code. Let’s add the code below:
public function index(){ $timestamp = $_GET['timestamp']; $nonce = $_GET['nonce']; $token = '你定义的token令牌'; $signature = $_GET['signature']; $array = array($timestamp,$nonce,$token); sort($array); //将排序后的三个参数拼接之后参数拼接之后进行sha1加密 $tmpstr = implode('',$array); $tmpstr = sha1($tmpstr);$this->wxLog('hello'); //将加密后的字符串与signature进行对比; if($tmpstr == $signature && isset($_GET['echostr'])){ echo $_GET['echostr']; exit; }else{ $this->responseMsg(); } }
·Simple explanation, here I simply add a judgment, if I am not verifying the token and I just come to access and respond to WeChat, I will not need to Verified, and if it is not token verification, the WeChat server will not send the data in the echostr field, so if there is no such data, we will perform related operations such as response information, etc.; if the token authentication fails, please check whether the file storage path is correct. Is there any problem with my code? I had to go through many detours before the authentication was successful. It doesn’t matter if the authentication fails for the first time, just click a few more times;
After you apply for natapp and complete the internal penetration, fill in the URL at the url. Note: This URL must be able to directly access your interface. The file is the file of the above string of codes; Then write the token you defined, fill in the above code, and then randomly generate a "Message encryption and decryption key", click submit after generation , the authentication may fail the first time, click a few more times. If the authentication fails, you must carefully check your code and URL. I filled in the URL incorrectly at the beginning, which caused the authentication to fail all the time, so I must fill in the correct URL address and submit. After success, you can continue to develop your functions~!
thinkPHP5.0 framework independent configuration and dynamic configuration methods
thinkphp hide index.php iis apache nginx
##php WeChat public account development, obtain user WeChat personal information
The above is the detailed content of thinkphp5 WeChat public account token certification. For more information, please follow other related articles on the PHP Chinese website!