Avi*_*pta 8 python firefox google-chrome web-notifications
我正在使用pywebpush 1.4.0库从Django后端推送Web Notifications.我使用的密钥是从https://web-push-codelab.glitch.me/获得的.订阅似乎工作正常.此外,我在Firefox上测试了它,它在那里工作正常.
我在推送Chrome时收到以下错误服务器端:
Push failed: <Response [400]>: <HTML>
<HEAD>
<TITLE>UnauthorizedRegistration</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>UnauthorizedRegistration</H1>
<H2>Error 400</H2>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我的后端控制3个域名,推送工作正常,即使对于一个域上的Chrome而不是其他域名.我排除了以下可能的问题:
我看到的唯一可能性是Chrome是否允许来自同一后端的不同域上的推送通知.有人知道这样的限制或者可以帮助我解决其他任何指针吗?
注意:我正在为所有三个域使用不同的密钥.
这是我用来推送的代码:
from pywebpush import webpush
webpush(subscription_info,
data,
vapid_private_key=vapid_private_key,
vapid_claims={"sub": "mailto:xyz@example.com"})
Run Code Online (Sandbox Code Playgroud)
subscription_info是订阅用户时收到的json,vapid_private_key是相应的私钥.
小智 0
常见问题解答列出了以下错误原因(引用):
它还规定了在请求中添加 a 的要求applicationServerKey,但这在 Firefox 中不是强制要求的。您的问题可能在于:您确定该vapid_private_key变量引用每个域的正确私钥吗?它可能始终是您工作领域的关键。
如果我们有更多您使用的代码,可能会更容易找到一些潜在的错误。Chrome 只需要每个服务器一个密钥,但应该能够处理多个不同服务器的订阅。
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |