为什么弄微信服务号认证
我打算给我的极客猿导航加个公众号扫码登录,期间我还认证了个企业的订阅号,没有考虑清楚微信支付问题,实验了一下后期迁移账号还需要重新缴纳300元,我。。。
我重新注册了个服务号,缴纳了认证的300元,得到了我想要的所有权限,包含了微信支付,公众号关注登录,还有分享,这几点是最关键的。
关于微信公众号的token认证
公众号开发第一步就是绑定Token,Token认证相当于把我们的公众号和服务器关联起来,只有Token认证成功了我们的服务器才能接收到来自公众号的消息。
关于 token 认证,官方只给出了php,python,java等主流后端语言的示例(怎么?Nodejs不配有示例吗?),我使用的是eggjs框架,具体token认证的代码如下:
import { Application } from 'egg';
const crypto = require('crypto');
export default class WechatController {
async index(ctx) {
const query = ctx.request.query;
const signature = query.signature;
const timestamp = query.timestamp;
const nonce = query.nonce;
const echostr = query.echostr;
if (await this.check(timestamp, nonce, signature, 'token')) {
ctx.body = echostr;
} else {
ctx.body = 'It is not from weixin';
}
}
async check(timestamp, nonce, signature, token) {
const tmp = [token, timestamp, nonce].sort().join('');
const currSign = crypto.createHash('sha1').update(tmp).digest('hex');
return (currSign === signature);
}
}
将代码中的 token
替换成自己设置的就好了。
具体配置可以打开公众号后台 -> 基本配置 -> 服务器配置,填写服务器的 URL
和 自己设置的 Token
,EncodingAESKey 随机生成,消息加解密方式 填 明文模式即可。
配置完成后,你还需要到公众号后台 -> 公众号设置 -> 功能设置中,绑定一下网页授权域名,不然会出现扫码关注公众号登录会报错。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)