Javascript Web 推送:我在哪里可以获得 "auth" 密钥?
Javascript Web Push: where can I get "auth" key?
我开始使用网络推送通知;我不知道在哪里可以找到 auth
键:
var pushSubscription = {
endpoint: '< Push Subscription URL >',
keys: {
p256dh: '< User Public Encryption Key >',
auth: '< ???? User Auth Secret ???? >'
}
};
我可以从 ServiceWorker>registeration.pushManager.getSubscription()
得到 endpoint
和 p256dh
但不是 auth
键。
谢谢
您可以使用 getKey
方法同时获得 p256dh
和 auth
(参见 the specs or the example from the specs)。
在 getSubscription
promise 返回的 PushSubscription
对象上调用 JSON.stringify
更简单。
使用 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
}
};
我开始使用网络推送通知;我不知道在哪里可以找到 auth
键:
var pushSubscription = {
endpoint: '< Push Subscription URL >',
keys: {
p256dh: '< User Public Encryption Key >',
auth: '< ???? User Auth Secret ???? >'
}
};
我可以从 ServiceWorker>registeration.pushManager.getSubscription()
得到 endpoint
和 p256dh
但不是 auth
键。
谢谢
您可以使用 getKey
方法同时获得 p256dh
和 auth
(参见 the specs or the example from the specs)。
在 getSubscription
promise 返回的 PushSubscription
对象上调用 JSON.stringify
更简单。
使用 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
}
};