微信公众号接入服务端node.js中

本文介绍如何使用Koa1框架设置微信公众号服务器验证过程。通过示例代码,详细讲解了如何生成签名并验证来自微信服务器的消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

申请微信公众号,这个不多讲。




代码:

以 Koa1 框架 为例

var router = require('koa-router')();
var sha1 = require('sha1');

var config = {
    wechat_config : {
        app_id : '{开发者id}',
        token_code : '{自定义}',
        encoding_AES_Key : '{随机生成}'
    }
};

router.get('/', function *(next) {
  // this,query

    var token = config.wechat_config.token_code,
        signature = this.query.signature,
        timestamp = this.query.timestamp,
        nonce = this.query.nonce,
        echostr = this.query.echostr;

    var str = [token,timestamp,nonce].sort().join('');  //按照官方规则
    var sha = sha1(str);
    if(sha == signature){   //相等时,接入通过
      this.body = echostr + '';
    }else{
      this.body = 'wrong';
    }
});
module.exports = router;


进入微信公众平台后,


选择基本配置 - 填写服务器URL - Token(自定义的)-  点击随机生成 EncodingAESKey - 安全模式 


要在微信公众号后台配置 `wx.login()` 接口,你需要按照以下步骤操作: 1. **微信公众平台开发者中心**: - 登录微信公众平台官方网站(mp.weixin.qq.com),进入“管理后台” -> “开发”。 2. **添加授权登录功能**: - 在左侧菜单栏选择“基本设置” -> “功能开通”,找到“高级功能”下的“第三方登录”并开启。 3. **获取AppID和AppSecret**: - 确认你的公众号已经开启了相应权限,然后在“开发”->“开发工具”->“调试助手”里获取到AppID和AppSecret,这两个值用于后续请求微信服务器。 4. **引入JS-SDK**: - 将微信提供的官方JavaScript SDK引入到你的公众号网页模板中。通常是在`<head>`部分添加`script`标签,链接到官方库地址。 5. **配置JS-SDK**: - 调用`wx.config`方法初始化,传入配置项,包括AppID、AppSecret、timestamp、nonceStr等,以及设置合法域名。 ```javascript wx.config({ debug: false, // 开启调试模式,可以查看额外的log信息,默认关闭 appId: 'your_app_id', // 公众号的唯一标识 timestamp: 'server返回的时间戳', nonceStr: 'server返回的随机串', signature: 'server返回的signature', jsApiList: ['login'] // 需要使用的API列表,这里只包含login }); ``` 6. **触发登录**: - 当用户点击需要登录的地方,你可以通过`wx.login`发起登录请求,并在回调函数中处理用户的授权状态。 ```javascript wx.login({ success: function(res) { var code = res.code; // 获取code,用于换取access_token // 进行其他业务逻辑,比如将code发送给服务器换取token }, fail: function() { // 处理登录失败的情况 } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值