предисловие
Я уже видел несколько руководств по аутентификации публичной учетной записи WeChat с помощью узла, и я также хочу использовать узел, чтобы изучить содержание разработки WeChat и мини-программ, включая механизм входа в систему и т. д. В будущем мне не нужно всегда полагаюсь на помощь бэкенд-друзей, и я надеюсь, что смогу сделать это сам Разработка с полным стеком.
В результате я только что завершил первый этап сертификации доменного имени, записал процесс и учился вместе.
содержание
- покупка облачного сервера
- узел установки Linux
- Установите экспресс-скаффолдинг и зависимости
- Автоматически перезапустить плагин nodemon, используя
- Официальная конфигурация аккаунта
- шифрование узла и аутентификация
- Яма указывает на север
- Суммировать
Текстовое содержимое
1. Покупка облачного сервера
Этот шаг затянулся надолго.Ищу дешевый облачный сервер.Сейчас пользуюсь облачным сервером Didi Cloud.Стоит 9 юаней первый месяц и 20 юаней в месяц следующие три месяца.Возьмите преимущество скидки и поторопитесь узнать это ха-ха.
2. узел установки Linux
Раньше я делал много обходных путей, потому что я не знаком с linux, и метод загрузки, а затем настройки переменных среды всегда неправильный.Обучение важно, поэтому мне не нужно об этом беспокоиться, поэтому я просто изменил метод.
$ sudo yum -y install nodejs
3. Установите экспресс-скаффолдинг и зависимости
3.1 Установка экспресс-лесов
$ npm install express-generator -g
3.2 Создание каталогов и приложений и установка зависимостей
//创建源码目录并进入
$ mkdir dir nodeApp
$ cd /nodeApp
//创建应用
$ express weiChart
$ cd /weiChart
// 安装需要依赖包
$ npm install
4. Автоматически перезапустите плагин nodemon для использования
На данный момент вы можете начать приложение напрямую, но с учетом предварительного просмотра и отладки во время модификации приложение будет перезапущено бесконечно, поэтому настроен плагин Nodemon, и приложение автоматически перезапустится после модификации кода.
4.1 Установка
// 全局安装nodemon插件
$ npm install -g nodemon
// 进入应用下的bin目录
$ cd /bin
4.2 Создайте файл конфигурации
Вы можете использовать vim для его создания или напрямую создать его локально и перетащить в каталог bin.
<!--nodemon配置文件 nodemon.json -->
{
"restartable": "rs",
"ignore": [
".git",
".svn",
"node_modules/**/node_modules"
],
"verbose": true,
"execMap": {
"js": "node --harmony"
},
"watch": [],
"env": {
"NODE_ENV": "development"
},
"ext": "js json"
}
Создать с помощью вим
$ vim nodemon.json
// 粘贴文件
按esc 输入':wq' 保存退出即可
4.3 Запустите приложение с помощью nodemon
// 进入项目根目录
$ cd ../
$ nodemon npm start
5. Официальная конфигурация аккаунта
Перед этим вы должны зарегистрироваться и заполнить официальную учетную запись, успешно войти в систему и щелкнуть меню слева.Разработка -> Базовая конфигурация.
Нажмите «Изменить конфигурацию», чтобы войти в интерфейс конфигурации, введите адрес своего сервера и пользовательский токен, а затем случайным образом сгенерируйте ключ шифрования.Метод шифрования используется по умолчанию.
Примечание. Я использую путь /weiChart, а не корневой каталог проекта, поэтому его необходимо настроить в экспресс-маршруте.
6. Шифрование и аутентификация узла
6.1 Установка зависимостей
$ npm install jssha --save-dev
Перейдите к файлу маршрутов в корневом каталоге проекта и откройте index.js для разработки.
6.2 Знакомство с зависимостями
var jsSHA = require('jssha');
6.3 Создать маршрут WeChat
router.get('/weiChart', function(req, res, next) {
//自定移动token,要与微信公众号里设置的一致
var token="6d05aedab138be6bbbf40b41d65a45ec";
//1.获取微信服务器Get请求的参数 signature、timestamp、nonce、echostr
var signature = req.query.signature,//微信加密签名
timestamp = req.query.timestamp,//时间戳
nonce = req.query.nonce,//随机数
echostr = req.query.echostr;//随机字符串
//2.将token、timestamp、nonce三个参数进行字典序排序
var array = [token,timestamp,nonce];
array.sort();
//3.将三个参数字符串拼接成一个字符串进行sha1加密
var tempStr = array.join('');
var shaObj = new jsSHA('SHA-1', 'TEXT');
shaObj.update(tempStr);
var scyptoString=shaObj.getHash('HEX');
//4.开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
if(signature === scyptoString){
console.log('验证成功')
res.send(echostr);
}else{
console.log('验证失败')
res.send('验证失败');
}
});
6.4 Привязка фиксации
Запустите приложение, а затем нажмите кнопку отправки на странице конфигурации общедоступной учетной записи WeChat. Будут подсказки об успехе или неудаче. Желаю вам успеха.
7. Карьер указывает на север
ранее согласноРазработка общедоступной платформы WeChat с помощью node.jsШаги, чтобы сделать это, шаг два ямы во втором и третьем шагах в комментариях
- Сортировка: документ WeChat содержит токен, метку времени, одноразовый номер, и порядок должен быть правильным.
- Метод jsSHA: правильный путь, новый jsSHA('SHA-1', 'ТЕКСТ').
Скриншот статьи
-
Заказ не соответствует официальному сайту
-
Использование jsSHA неверно
8. Резюме
-
Ранний взгляд на концепцию информации, учебные пособия
Реализация на самом деле довольно проста, я видел много сертификационных материалов WeChat раньше, и я могу найти много из них в Интернете, и тогда у меня будет представление, когда я буду практиковаться.
-
Практика просмотра документов, чтобы найти методы
Какой метод сообщает об ошибке, обратитесь к документации по какому методу, не переходите к другому учебнику, как только появится сообщение об ошибке.