3、同时,PushScription的endpoint也是在这个过程中生成的,生成公钥和私钥可以使用web-push库。 }); }; 5、 存储完毕后,接下来就是开发后台管理逻辑,使得管理员能够触发向用户推送消息的事件,应用服务器所做的逻辑就是遍历在数据库中存储的所有PushScription并推送消息,以下是使用web-push 第二个参数applicationServerKey是服务端的公钥,这个可以用web push的Node包生成,先安装一个: npm install web-push --save 然后用以下代码生成: const webpush = require('web-push'); //VAPID keys should only be generated only once. const vapidKeys 用Node.js可以这样发Push: const webpush = require('web-push'); // 从数据库取出用户的subsciption const pushSubscription
Web-push的优势 与传统的邮件列表相比,Web push Notification 有这样几点不同: 使用邮件推送,只有打开邮件的人才能看到推送的内容。 从用户体验上来说,相较于传统的弹出式邮件输入框,Web-push Notification 更加的便捷。用户不需要输入一长串的邮箱字符,只需要按一下便可以接收之后的更新。 [Web-push推送原理图] 图中的 web page 是网站。Service worker 是独立于网页,运行在浏览器后台的脚本。Use agent 为用户端,也就是浏览器。
Web-push的优势 与传统的邮件列表相比,Web push Notification 有这样几点不同: 使用邮件推送,只有打开邮件的人才能看到推送的内容。
// ✅ Node.js服务器端实现(使用web-push库) const webPush = require('web-push'); // 1️⃣ 首先,设置VAPID密钥对 const vapidKeys → 不是技术问题,而是用户习惯问题(国内用户习惯了App Push) 推荐资源 Push API - MDN Web Docs Service Worker规范 web-push npm库 VAPID密钥生成工具
以下是一个简化版的推送服务代码示例(基于 web-push 库):// attacker-push-server.jsconst webpush = require('web-push');// 攻击者私钥
自动化安全警报系统 const WebSocket = require('ws'); const nodemailer = require('nodemailer'); const push = require('web-push
return { publicKey: curve.getPublicKey(), privateKey: curve.getPrivateKey(), }; } // 也可以直接根据 web-push
return { publicKey: curve.getPublicKey(), privateKey: curve.getPrivateKey(), }; } // 也可以直接根据 web-push