是否可以为 Web 推送设置专用端点服务?

Is it possible to setup private endpoint service for Web Push?

我正在学习 Web Push here, then success to build sample notification web app step by step, with Push Companion,现在对于服务器端,我可以将消息发送到 "fcm.googleapis.com",然后任何订阅该端点 (fcm.googleapis.com) 的客户端都可以获得通知甚至网页已关闭。太好了,但我担心业务案例,出于安全原因,无法将敏感数据发送到公司的 "fcm.googleapis.com" 等开放端点,因此是否可以设置专用端点来处理消息?如果是,对于浏览器端,'subscribe' API是否支持指定端点?

如果您使用 标准 (W3C 推送 API),则通知负载会加密发送到浏览器推送服务(例如 Firebase、Mozilla autopush 等) ),因此他们无法阅读内容。此外,您甚至可以决定只发送一个推送信号来激活 Service Worker,然后从您自己的服务器获取通知内容。

但是请注意,只有使用标准,我上面所说的才是正确的。 Firebase 还提供了一个专有 SDK:如果您使用他们的 SDK 来收集订阅或发送通知,那么他们将能够收集额外的信息。

基本上,如果您不想让 Firebase 看到您的内容,您需要使用您自己的代码收集订阅并将端点存储在您自己的服务器上。然后您可以将带有加密负载的通知从您的服务器发送到 Firebase。

关于更改推送服务,目前只有 Firefox 支持(但它是实验性的)。