首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Angular 8中使用Postman/curl测试FCM

如何在Angular 8中使用Postman/curl测试FCM
EN

Stack Overflow用户
提问于 2019-10-24 06:46:25
回答 2查看 677关注 0票数 0

我正在尝试使用web-push为我的web应用程序(Angular 8)设置通知。

我已经使用angular service worker成功地注册了用户的端点、p256dh和auth。它已经在数据库中了。

我的后端是Laravel,然而,在设置了所有不起作用的东西之后。因此,在排除后端故障之前,我尝试使用postman设置一个“原始”请求,以测试通知本身是否正常工作。

(我在前端遵循的教程:https://blog.angular-university.io/angular-push-notifications/)

下面是postman上的json:

代码语言:javascript
复制
{
   "to": "<HERE GOES THE USERS p256dh>",
   "notification": {
    "body": "Hello",
    "title": "This is test message."
   }
}

Url:~~POST ~~

具有以下标头:

代码语言:javascript
复制
Authorization: key=4uAH6X9MLTQWYWuDuUjBDk5P8OHPmFLWF9FZJeDAZMo (I've tried users auth code and also my VAPID_PRIVATE_KEY
Content-Type: application/Json

我得到的回应如下:

代码语言:javascript
复制
sender is not authenticated.

编辑:已尝试:https://fcm.googleapis.com/fcm/send和got:

代码语言:javascript
复制
Invalid (legacy) Server-key delivered or Sender is not authorized to perform request.

我做错了什么?即使在浏览器关闭的情况下,预期的结果也会是通知。

(我正在测试o locahost并通过angular-http-server提供服务,使用ng build --prod构建)

EN

回答 2

Stack Overflow用户

发布于 2019-10-24 14:32:50

正如fcm响应所指示的,看起来您正在使用旧服务器密钥进行身份验证。旧的服务器密钥比新的服务器密钥短得多。

要解决此问题,请使用服务器密钥(如果已有),或者单击“添加服务器密钥”创建一个密钥,并在授权标头中使用该密钥而不是旧的服务器密钥。

请参阅此image以供参考。

票数 1
EN

Stack Overflow用户

发布于 2019-10-24 19:04:15

我已经使用npms send-notification进行了测试:

代码语言:javascript
复制
  web-push send-notification --endpoint=<url> [--key=<browser key>] [--auth=<auth secret>] [--payload=<message>] [--ttl=<seconds>] [--vapid-subject=<vapid subject>] [--vapid-pubkey=<public key url base64>] [--vapid-pvtkey=<private key url base64>] 

现在是后端的问题,我将尝试修复它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58531876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档