问题标签 [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.

0 投票
1 回答
1112 浏览

java - 从服务器发送通知时未触发推送事件

我想从我的服务器推送通知。因为我正在使用 Java 的 Web 推送 API,我可以将通知发送到端点 url 但在接收方我的服务工作者没有执行推送事件,因为我使用的是 VAPID 所以不需要根据我的理解使用 gcm Id,这是我的服务人员文件。

在这里,您是我的 main.js 文件,我可以从中调用我的本地服务器。

这是我用于我的应用程序的 webpush API 的 URL,[ https://github.com/web-push-libs/webpush-java][1] 最后是我的服务器端代码,

实际上,我是从客户端浏览器和在端点上的服务器端发送通知中获取此信息的,并且我能够发送通知,但我的服务人员无法触发推送事件,因此我没有在我的浏览器上收到通知。

请帮助我摆脱困境,任何帮助将不胜感激。在此先感谢您。

0 投票
1 回答
467 浏览

push-notification - Web 推送:我应该为不同的 Web 应用程序实例使用不同的 VAPID 吗?

如果 Web 应用程序的多个实例正在运行,每个实例应该有自己的一对 VAPID 密钥还是只使用一个就可以了?

0 投票
1 回答
204 浏览

java - UnauthorizedRegistration 使用 webpush-java CLI 工具

我正在查看webpush-java代码。

我尝试使用 CLI 工具发送通知

...但这会导致 HTTP/1.1 400 UnauthorizedRegistration。什么可能导致这种情况?

更新:我用新的密钥和订阅重复了发送通知......这次我注意到进一步的错误诊断:-

SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。SLF4J:默认为无操作 (NOP) 记录器实现 SLF4J:有关详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder。HTTP/1.1 400 UnauthorizedRegistration [内容类型:文本/html;charset=UTF-8,日期:格林威治标准时间 2018 年 3 月 16 日星期五 10:02:46,过期时间:格林威治标准时间 2018 年 3 月 16 日星期五 10:02:46,缓存控制:私有,max-age=0,X-Content-类型选项:nosniff,X-Frame-Options:SAMEORIGIN,X-XSS-Protection:1;模式=块,服务器:GSE,Alt-Svc:hq=":443";马=2592000;快速=51303431;快速=51303339;quic=51303335,quic=":443"; 马=2592000;v="41,39,35",接受范围:无,变化:接受编码,传输编码:分块] [分块:假]

0 投票
1 回答
10130 浏览

javascript - Firebase 云消息传递的 getToken() 仅在我省略 usePublicVapidKey 方法时才有效,为什么?

我在实施 Firebase for Firebase Cloud Messaging (FCM) 时遇到了具体问题:

正如您在下面的代码中看到的那样,//messaging.usePublicVapidKey("<MY VAPID KEY IN HERE>");当前已注释。VAPID 密钥是通过以下命令获得的:web-push generate-vapid-keys在服务器的终端中。如果我取消注释此行,我在调用时会在控制台中收到此错误notification_permission()

这是我当前的index.html文件:

这是我调用的 javascript 函数以获取用户接收通知的权限并获取用户的令牌:

我的manifest.json文件里已经有了这个:

我对此配置的具体问题是:

  1. 是否可以web-push generate-vapid-keys只使用一次 VAPID 密钥,并为所有用户请求使用相同的 VAPID 密钥?

  2. 为什么getToken()使用 VAPID 密钥时方法会失败?

  3. VAPID 方法是可选的吗?使用它有什么好处?

谢谢你的帮助!

0 投票
0 回答
76 浏览

firebase - 带有 VAPID 的 FCM XMPP 接口

是否可以将 Firebase Cloud Messing XMPP 接口与 VAPID 一起使用?

我尝试这样做,但是一旦我使用messaging.usePublicVapidKey('') 注册我的javascript 客户端,我就会从FCM XMPP 界面收到一个DEVICE_UNREGISTERED 错误。

有没有人这样做并且可以指出我正确的方向?

0 投票
1 回答
975 浏览

vapid - 如何使用乏味的推送通知发送试运行通知

GCM 提供了一种发送试运行消息以测试请求格式的方法,如参考https://developers.google.com/cloud-messaging/http-server-ref中所述。如何使用 VAPID (FCM) 标准实现类似的 dry_run 支持?

0 投票
1 回答
458 浏览

firebase - 将 VAPID 注册导入 firebase 要求 OAuth2

我正在按照谷歌文档中描述的步骤进行操作:import_push_subscriptions,并且在尝试通过 curl 导入一个 VAPID 注册时收到 401 错误消息:

“请求缺少所需的身份验证凭据。需要 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。请参阅https://developers.google.com/identity/sign-in/web/devconsole-project。”

我的请求如下所示:

这是 data.json 的内容

注意:当我们通过此处描述的 batchImport 端点导入 ios 令牌时,我们使用了相同的隐藏授权密钥:create_registration_tokens_for_apns_tokens按预期工作,但 webpush 导入要求 OAuth2,这很奇怪,因为我们正在发送授权:密钥。

0 投票
0 回答
146 浏览

node.js - 将 VAPID Push 订阅导入 Firebase 时预期的 OAuth 2 访问令牌

我正在尝试将 vapid push 订阅导入 firebase。我在https://developers.google.com/instance-id/reference/server#import_push_subscriptions找到了一些解决方案。它出现以下错误。请帮助我解决这个问题。

发布:https ://iid.googleapis.com/v1/web/iid

标头:
Content-Type:application/json
Authorization:key=MY_SERVER_KEY

身体:

回复:

"error": { "code": 401, "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/登录/web/devconsole-project .", "status": "UNAUTHENTICATED" }

0 投票
1 回答
265 浏览

web-push - Web 推送通知更新 VAPID 密钥

我之前使用了不同的推送通知提供商(他们没有使用 VAPID 密钥)并让用户订阅了该服务。现在,当我切换推送通知提供程序时,我有点失去了所有以前的订阅者,因为他们已经同意接收通知,因此他们不会再次获得许可窗口。有没有办法在订阅者使用 VAPID 密钥对访问我的网页时自动更新(重新订阅?),以便“旧”订阅者仍然可以收到我的推送通知?

0 投票
0 回答
256 浏览

javascript - UWP VAPID 备用频道 401

我正在尝试使用备用渠道向我的 UWP 应用程序发送推送通知。到目前为止,我已经获得了 URI,并尝试使用 cURL 和 pywebpush 发送推送通知,但在这两种情况下我都得到了 401。我正在使用 JS API 来获取这样的频道:

cURL 请求返​​回为

我的 URI 的样子,并且添加https://sg2p.notify.windows.com/w/?token=BIG_TOKENAuthorization,TTLCrypto-Key标头。

我正在使用 webpush 通知浏览器,它工作正常。知道这里可能有什么问题吗?