javascript - 如何修复 Google Chrome 的 WebPush 401 错误?
问题描述
我正在尝试在我的网站上开发自己的通知系统,但我遇到了问题。我使用 firebase 和他的钥匙(我没有使用 VapidKeys)。一件事:每个都适用于 Firefox,但不适用于 Google Chrome。
对于我的应用程序,我遵循了此链接。
和其他关于firebase如何工作的教程......
<?php
include_once (getenv('DOCUMENT_ROOT') . '/lib/include.php');
...
use Minishlink\WebPush\WebPush;
use Minishlink\WebPush\Subscription;
use Minishlink\WebPush\VAPID;
array of notifications
$notifications = array(
array(
'subscription' => Subscription::create(array(
'endpoint' => 'https://updates.push.services.mozilla.com/wpush/v1/gAAAAABcyExVQOIq3T0hJlKO6awqMrGwo0kcjjqi5mYKLddIfKcvva-2AcIMY1f1X32Zpdo3IlOqKb00eOhgUI_TTYMdmSwA6VxUjsQPgZwFmDQuvWjYnvax6yuV-WraBE9MclHMou6G', // Firefox 43+,
'publicKey' => 'BKVJQAkW1OFebroeetQBX1gVsDXQIs8TRYOk0b7ENCK3NBhOCxqCN2uAAZ5wQq7lqS0AqTu5qkKzNHH2oMQAJes', // base 64 encoded, should be 88 chars
'authToken' => 'PTYrPzIoW96SnYjjmSPvrg', // base 64 encoded, should be 24 chars
)
),
'payload' => 'hello !',
),
array(
'subscription' => Subscription::create(array(
'endpoint' => 'https://fcm.googleapis.com/fcm/send/dgSeLeTBqQs:APA91bGWVsUbkd5R9jOyqjDx5PMzuDtse1X9jGtJ3D_G_1wPehNFCq9-aEkyVSdqnzkuv5pbetE8k0rU_XrSGNvZ6WVG-7zZQJha_WvVK8zvUkGUxBsKzF6kPYMIDGZ6Qx2VjrWIbePS',
)
),
'payload' => null,
)
);
$webPush = new WebPush();
// send multiple notifications with payload
foreach ($notifications as $notification) {
$webPush->sendNotification(
$notification['subscription'],
$notification['payload'] // optional (defaults null)
);
}
foreach ($webPush->flush() as $report) {
$endpoint = $report->getRequest()->getUri()->__toString();
if ($report->isSuccess()) {
echo "[v] Message sent successfully for subscription {$endpoint}.";
} else {
echo "[x] Message failed to sent for subscription {$endpoint}: {$report->getReason()}";
}
}
解决方案
推荐阅读
- spring-data-jpa - Spring Data JPA:如何在集合中找到一列?
- python - 使用 base64 将 matplotlib 绘图保存到 html doc
- perl - 如何重写我的 ($one, $two) = @ARGV 并在程序运行时执行它?
- docker - 如果 Google PUBSUB 中没有来自发布者的消息,如何让订阅者休眠
- python - 如何获取图像的标准差
- mysql - 如何使用 mySql 中数据库中的反之亦然列获取所有值
- amazon-web-services - 如何终止 AWS Lambda 无限循环?
- regex - 多列上的 Hive regexp_replace
- python - 如何处理我正在使用的包中的日志?
- laravel - laravel 雄辩的关系多态