首页 > 解决方案 > 如何修复 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()}";
    }
}

标签: javascriptphphtmlweb-push

解决方案


推荐阅读