我最近才了解VAPID,并一直在寻找它存在的原因和它的目的是什么。Mozilla的博客文章解释说,"包含VAPID信息可以让我们在看到问题时与您联系",但我不太确定他们的意思。他们是否在进行某种监控以防止其他人模仿你的服务?
VAPID规范的摘要解释了一切:
应用程序服务器可以自动识别自己的推送使用所描述的技术服务。这个标识信息可以被推送服务用于属性请求由同一应用程序服务器对单个实体所做的更改。这可以通过以下方式降低推送订阅url的保密性能够限制对特定应用程序的订阅服务器。应用服务器还可以包含其他的推送业务的操作员可以用来联系的信息应用服务器的操作符。
所以有两个理由使用VAPID。
第一个是限制对特定应用服务器的订阅的有效性(因此,通过使用VAPID,只有您的服务器能够向订阅者发送通知)。
第二种是在推送通知中添加更多信息,以便推送服务操作员知道谁在发送通知。如果你的通知出了问题,接线员知道你是谁,可以联系你。此外,他们可以为你提供某种界面来监控你的推送通知。
您的VAPID密钥允许您的服务器向浏览器发送web推送消息而无需使用像Firebase Cloud Messaging或AWS这样的服务。
例如:Python Django。你可以使用Django-Webpush
install django-webpush https://pypi.org/project/django-webpush/