微信小程序url与token的设置

1. 什么是微信小程序url与token

在介绍微信小程序url与token的设置之前,我们先来了解一下什么是微信小程序。微信小程序是一种不用下载安装就可直接使用的应用,是一种新的服务形态,也是一种全新的开发方式。它具有轻便、操作简单的特性,可以让用户无需下载安装即可使用。而微信小程序url与token则是微信小程序开发的两个非常重要的概念。

微信小程序url: 是指微信小程序的访问地址,类似于普通网站的URL地址,用户打开微信小程序时就会访问到这个地址。

微信小程序token: 是微信小程序对外接口调用的凭证,每个请求都需要携带token才能正常访问。

2. 微信小程序url的设置

微信小程序url的设置需要分为两步,一是在小程序后台设置服务器配置,二是在服务器端设置响应的接口。

2.1 小程序后台设置服务器配置

在小程序后台设置服务器配置需要填写的参数有:

服务器地址(URL): 服务器地址是指你的小程序将要访问的服务器地址,需要是HTTPS地址,可以是域名、IP地址或者IP:端口号形式。

Token: Token是给第三方用户提供的接口,是各个接口之间进行安全验证的一个口令,可以任意填写,但长度不能超过32个字符,填写后需要在服务器端进行验证。

消息加密方式: 消息加密方式有两种,一种是明文模式,一种是兼容模式,为了保证通信安全建议启用加密模式。

设置完成后,需点击“提交”按钮,然后微信服务器会向该服务器地址发送一个GET请求,请求参数中会包含一个名为echostr的参数,服务器需要将该参数原样返回。

2.2 服务器端设置响应的接口

在服务器端需要实现接口来响应小程序的访问请求,这里以Node.js举例:

const express = require('express');

const app = express();

app.get('/wechat', (req, res) => {

// 获取验证参数

const { signature, timestamp, nonce, echostr } = req.query;

const token = 'your token'; // 与小程序后台的token保持一致

// 将参数排序加密

const str = [token, timestamp, nonce].sort().join('');

const sha1 = sha1(str);

// 验证是否来自微信服务器

if (sha1 === signature) {

res.send(echostr);

} else {

res.send('bad request');

}

});

app.listen(80, () => console.log('Server running at port 80.'));

以上代码是一个简单的Node.js服务器,其中app.get('/wechat')表示响应/wechat路径的GET请求。接口的核心代码是对请求参数进行排序并加密,然后与signature进行比对,从而实现对微信服务器的验证。

重要提示:此处的加密方式为SHA1,需要安装sha1库。

3. 微信小程序token的设置

微信小程序接口对外调用需要携带token才能正常访问,因此需要在小程序后台设置接口安全。

3.1 小程序后台设置接口安全

在小程序后台开发设置中,点击"开发设置",找到"接口设置",开启"不校验合法域名、web-view(业务域名)、TLS版本以及其它安全相关问题",然后将服务器地址添加为合法域名即可。

3.2 接口调用

接口调用的代码如下所示:

const request = require('request');

const token = 'your token'; // 与小程序后台的token保持一致

request.get(`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET`, (err, res, body) => {

if (err) {

console.log(err);

return;

}

const data = JSON.parse(body);

const access_token = data.access_token;

// 调用微信小程序接口

request.get(`https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=${access_token}`, (err, res, body) => {

if (err) {

console.log(err);

return;

}

console.log(body);

});

});

以上代码是对微信小程序接口进行调用的示例,其中access_token是获取到的token。

4. 总结

微信小程序url与token的设置是微信小程序开发的两个非常重要的概念,url是小程序的访问地址,token是接口调用的凭证。在小程序后台设置服务器配置和接口安全后,在服务器端实现响应的接口即可实现对微信小程序的开发。