【问题标题】:What is VAPID and why is it useful?什么是 VAPID,它为什么有用?
【发布时间】:2017-03-16 11:48:39
【问题描述】:

我最近刚刚了解了 VAPID,并且一直在四处寻找它存在的原因以及它的用途。 Mozilla's blog post 解释说“如果我们发现问题,包括 VAPID 信息将让我们与您联系”,但我不确定他们的意思。他们是否在进行某种监控以防止其他人模仿您的服务?

【问题讨论】:

    标签: web-push vapid


    【解决方案1】:

    VAPID specification 的摘要说明了一切:

    应用服务器可以自愿将自己标识为推送 使用所描述的技术进行服务。这个标识 推送服务可以使用信息来属性请求 由同一应用程序服务器生成的单个实体。 这可用于通过以下方式减少推送订阅 URL 的保密性 能够限制对特定应用程序的订阅 服务器。应用服务器还能够包括额外的 推送服务的运营商可以用来联系的信息 应用服务器的操作者。

    所以 VAPID 有两个原因。

    第一个是限制对特定应用服务器的订阅的有效性(因此,通过使用 VAPID,只有您的服务器能够向订阅者发送通知)。

    第二个是在推送通知中添加更多信息,以便推送服务运营商知道谁在发送通知。如果您的通知出现问题,接线员会知道您的身份并可以与您联系。此外,他们可以为您提供某种界面来监控您的推送通知。

    【讨论】:

    • 感谢您的回答!在监控订阅时,推送服务究竟会寻找什么错误?
    • 例如,如果您开始发送大量推送通知,比平时更多,因为您的代码中存在错误,推送服务可以检测到并通知您。
    • 索赔中的电子邮件地址是否得到确认? Mozilla 或 Google 如何知道电子邮件地址属于发送声明的人?
    • 不需要确认,如果您使用的是 VAPID,您正在签署您的推送消息,所以它肯定是您发送的(除非有人偷了您的密钥)。
    【解决方案2】:

    您的 VAPID 密钥允许您的服务器在不使用 Firebase 云消息传递或 AWS 等服务。

    例如: 蟒蛇 Django。您可以使用 Django-Webpush

    pip3 安装 django-webpush

    https://pypi.org/project/django-webpush/

    【讨论】:

    • 我也读过,除了我给自己发送了一个没有无效键的推送通知,而不是像 firebase 云消息传递或 aws 这样的服务......所以我认为这个比较可能缺少一些东西。
    猜你喜欢
    • 2010-09-07
    • 1970-01-01
    • 2011-01-14
    • 2011-09-22
    • 1970-01-01
    • 2019-04-26
    • 2016-04-29
    相关资源
    最近更新 更多