2

我开始使用 Web 推送通知;我不知道在哪里可以找到auth密钥:

var pushSubscription = {
  endpoint: '< Push Subscription URL >',
  keys: {
    p256dh: '< User Public Encryption Key >',
    auth: '< ???? User Auth Secret ???? >'
  }
};

我可以得到endpointp256dh来自ServiceWorker>registeration.pushManager.getSubscription()但不是auth关键。

谢谢

4

2 回答 2

10

您可以使用该getKey方法同时获取p256dhauth(请参阅规范或规范中的示例)。

只调用promise返回JSON.stringify的对象就更简单了。PushSubscriptiongetSubscription

于 2016-11-10T10:35:14.543 回答
7

使用 Typescript,PushSubscription对象应该有一个名为toJSON. 就用那个。

const sub: PushSubscription = YOUR_RAW_PUSH_SUBSCRIPTION;
const pushSubscription = {
  endpoint: sub.endpoint,
  expirationTime: sub.expirationTime,
  keys: {
    p256dh: sub.toJSON().keys.p256dh,
    auth: sub.toJSON().keys.auth
  }
};
于 2019-01-25T03:33:06.123 回答