问题标签 [vapid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
push-notification - Web Push vapid 密钥生成逻辑
我有多个用于发送 Web 推送通知的 https 域。但我会从一台服务器发送网络推送通知。我知道为什么要使用它,并且我阅读了一些有关它的文件。但我没有看到任何关于这种方法的信息。我只从我的服务器生成了 vapid 密钥一次。我尝试使用这些键发送推送通知,并成功收到通知。但我有 2 个问题要问你。
- 我应该为每个域生成不同的 VAPID 密钥吗?
- 我可以只生成一个 VAPID 密钥并使用所有域吗?
node.js - Lightsail AWS Node.js 永远开始
我正在尝试使用 Vapid CMS,并且想将一个新站点上传到我的 Amazon Lightsail 服务器。Vapid 依赖于 Node.js,我能够将 Vapid 下载到我的帐户并使用我通过 AWS 拥有的静态 IP 地址设置所有内容。
Vapid 的工作方式是,一旦您进入根文件夹,您就会调用 vapid start 。启动服务器并查看您的站点/访问仪表板。我进行了设置,以便 AWS 服务器的静态 IP 地址重定向到启动 Vapid 时激活的默认http://localhost:3000 。
我遇到的主要问题是 Vapid 网站不会长时间保持活动状态。如果我在声明 Vapid 后退出 AWS 终端,几分钟后网站会转到“服务不可用”。有没有办法让这个傻瓜永远运行,以便我的网站一直运行到时间结束?
proxy - 如何为基于 localhost:3000 node.js 的应用程序建立 Apache2 代理
我试图弄清楚如何将我在 AWS Lightsail 上运行的 Apache2 服务器链接到我正在使用的应用程序,该应用程序在激活时使用http://localhost: 3000——它是一个简单的基于 Node.js 的 CMS,称为 Vapid。我将服务器链接到我的域名 - bigsheepcollective.com - 我可以让 Vapid 通过 AWS 终端运行,但它只是 Apache2 登录页面显示在我的域名上。我在这里看到了一个教程,介绍了在 Nginx 运行的服务器上建立代理传递,但我不确定如何为使用 Apache2 的服务器做同样的事情。
我试过使用 Nginx 教程,也没有对 Apache2 的代理设置进行大量搜索,但我对运行使用 http// 的应用程序时需要哪种类型的代理感到困惑:本地主机:3000。
google-chrome - Chrome 错误“提供的应用程序服务器密钥不是 VAPID 密钥。”
我正在尝试向我的网络应用程序实施推送通知。可悲的是,我一开始就在挣扎。虽然我在 Firefox 上取得了良好的开端,但 Chrome 错误“提供的应用程序服务器密钥不是 VAPID 密钥。将来仅支持 VAPID 密钥。有关更多信息,请查看https://crbug.com/979235。” 我尝试了来自不同来源的不同密钥。例如,从https://tools.reactpwa.com/vapid生成的这个密钥有什么问题,我在下面的代码中使用?
push-notification - 如何在 Postman 中使用带有 Vapid 键的 Push API 发送推送通知?
如果我有 vapid 键和订阅者,如何在邮递员中发送推送通知?我已经配置了服务人员,所以这不是问题。我只想发送一个简单的请求来测试它是否有效。
出于演示目的,这是我的 JSON 格式数据:
乏味的钥匙
订阅者示例
security - 如何验证私有和公共 VAPID 密钥是否正确?
运行后
它生成一个公钥和私钥。给定这两个密钥,有什么方法可以验证它们是否是正确的一对?(即如果我有私钥并且我可能输错了公钥)但想确保它是正确的
push-notification - Erlang:将 vapid 密钥 PEM 文件转换为 base 64 字符串格式(applicationServerKey)
嗨,我喜欢从 erlang 服务器应用程序发送 FCM 推送通知。当用户在浏览器中订阅 FCM 通知时。swRegistration.pushManager.subscribe() 需要一个公钥(applicationServerKey)。
所以要获得这个密钥,我使用 openssl 并生成两个 PEM 文件私钥和公钥。
我知道你可以从 firebase 控制台获取私钥和公钥。但是提供的密钥不是 PEM 格式,并且签署 JWT 的 erlang 库使用PEM 文件进行签名和验证。
因此,从生成的私人 PEM 密钥中,我可以对 JWT 进行签名,但我需要 base64 字符串格式的 applicationServerKey 将其添加到标头中,并在浏览器中订阅用户。
我应该将 firebase 控制台中的密钥转换为 PEM 或将 PEMS 转换为 firebase 密钥格式。
我花了两天时间尝试用 Erlang 来做这件事。
我发现如何在 Python 中做到这一点,我需要一些在 erlang 中等效的东西。
laravel-5 - 如何用 VAPID 替换 FCM,我有推送面板,我想将旧的 fcm 功能替换为 vapid
我的开发人员构建了这个面板,它内置在 laravel 框架中。它使用 Firebase 云消息传递 (fcm) 来发送通知。现在我经过一些研究,我知道在 VAPID 的帮助下,可以在没有 fcm 的情况下发送推送。所以亲爱的朋友们,请告诉有什么办法可以从 fcm 转变为 vapid 吗?
ruby-on-rails - Webpush::Unauthorized: 主机: fcm.googleapis.com, #
我正在尝试在我正在维护的 Web 应用程序上集成 Web 推送通知。我使用这个 github repo https://github.com/zaru/webpush作为我的指南。
遵循该指南中包含的内容后,在我的终端上运行此命令:
突然,我遇到了这个错误,这里有人遇到和我一样的错误吗?你是怎么解决的?先感谢您。