微信小程序开发服务器验证


在微信公众平台设置开发服务器,需要通过token验证。

小程序开发流程

  1. 微信公众平台注册账号,设置开发环境。

  2. 下载开发工具

在微信开发平台开发设置

微信小程序只是一种客户端,后台服务需要自己有服务器。要求基于SSL的业已备案过的域名,只能用80端口。
登录微信公众平台,【开发】->[开发设置],填写你的域名。

服务器域名设置

在点击【保存并提交】会进行验证。先来说说在服务器端怎么设置?我们基于KOA搭建服务。可连接到我的git hub,clone到服务器直接使用。或按以下步骤一步一步创建。

mkdir vx_server
cd vx_server
npm init
npm install --save-dev koa-router
npm install --save-dev raw-body
npm install --save-dev sha1  
touch app.js

以下是app.js代码:

const Koa = require('koa');
const router = require('koa-router')();
const sha1 = require('sha1')

const token = 'your token'  //微信平台开发设置中的token字符串
const app = new Koa();
app.proxy=true;

app.use(async (ctx,next) => {
    console.log(`Process $(ctx.request.method) $(ctx.request.url)...`)
    await next();
});

router.get('/' , async(ctx,next)=>{
    
    const { signature, timestamp, nonce, echostr } = ctx.query
    const token = token // 微信后台定义的token字符串
    const params = [ token, timestamp, nonce ].sort()
    // 连接
    const str = sha1(params.join(""))
    if(str == signature)  // 本地加密的数据与传过来的加密字符串相等
      return ctx.body = echostr // 直接返回随机字符串
    else return ctx.body = "fail"  //不匹配则认证失败

})
app.use(router.routes());

app.listen(3000);
console.log('App start at port 300...');

运行服务


node app.js

参考文档

  1. 微信小程序官方开发文档

评论
  目录