Использую nodejs + web-push 3.2.1 для отправки push-уведомлений в браузер.
В firefox на endpoint
https://updates.push.services.mozilla.com/wpush/v1/... уведомления уходят.
Но вот при попытке отправить в браузеры chrome, opera - выдает ошибку:
UnauthorizedRegistration.
name: 'WebPushError',
message: 'Received unexpected response code',
statusCode: 400,
headers:
{ 'content-type': 'text/html; charset=UTF-8',
date: 'Mon, 30 Jan 2017 06:53:51 GMT',
expires: 'Mon, 30 Jan 2017 06:53:51 GMT',
'cache-control': 'private, max-age=0',
'x-content-type-options': 'nosniff',
'x-frame-options': 'SAMEORIGIN',
'x-xss-protection': '1; mode=block',
server: 'GSE',
'alt-svc': 'quic=":443"; ma=2592000; v="35,34"',
'accept-ranges': 'none',
vary: 'Accept-Encoding',
connection: 'close' },
Добавил в корень сайта manifest.json и добавил тег с ссылкой на него на страницы сайта.
Вот сам код отправки push-уведомления:
webPush.setGCMAPIKey('XxxxSyB_cXXXXXdKDfkorOkn3hwYC2xx8aQxxxx');
var payload = JSON.stringify({
title: 'notification title',
message: 'message body'
});
const pushSubscription = {
endpoint: "https://android.googleapis.com/gcm/send/............",
keys: {
p256dh: "........",
auth: "......."
}
};
webPush.sendNotification(pushSubscription, payload).then(function(res) {
// console.log of stuff
}).catch(function(error) {
console.log(error);
process.exit(1);
});