Telegram 订阅推送通知所需的 Base64url 编码身份验证密码是什么?
What is the Base64url-encoded authentication secret that Telegram requires to subscribe to push notifications?
根据the Telegram docs,要订阅网络推送通知,您需要传递以下内容:
一个 JSON 编码的对象,具有以下键:
endpoint
: 绝对URL 由应用服务器可以发送推送消息的推送服务暴露
keys
: P-256椭圆曲线Diffie-Hellman参数在对象如下
p256dh
:Base64url 编码的 P-256 椭圆曲线 Diffie-Hellman public key
auth
: Base64url 编码的认证密码
最后一个键是什么,auth
指的是什么?
This question 是相关的,但并没有真正回答我的问题。
编辑: Here is some sample code 根据 Wizou 的解决方案生成密钥。
如文档中所述,在使用网络推送时,也可以使用 P-256 Elliptic Curve Diffie-Hellman 对有效负载进行加密。
根据链接的 RFC,此加密需要 public 密钥和身份验证密码。
在第 3.2 节中,RFC 指定您应该通过提供用于验证推送消息的 16 个八位字节的 hard-to-guess 序列来生成此机密。这应该由加密强度高的随机数生成器 [RFC4086] 生成。
根据the Telegram docs,要订阅网络推送通知,您需要传递以下内容:
一个 JSON 编码的对象,具有以下键:
endpoint
: 绝对URL 由应用服务器可以发送推送消息的推送服务暴露keys
: P-256椭圆曲线Diffie-Hellman参数在对象如下p256dh
:Base64url 编码的 P-256 椭圆曲线 Diffie-Hellman public keyauth
: Base64url 编码的认证密码
最后一个键是什么,auth
指的是什么?
This question 是相关的,但并没有真正回答我的问题。
编辑: Here is some sample code 根据 Wizou 的解决方案生成密钥。
如文档中所述,在使用网络推送时,也可以使用 P-256 Elliptic Curve Diffie-Hellman 对有效负载进行加密。
根据链接的 RFC,此加密需要 public 密钥和身份验证密码。
在第 3.2 节中,RFC 指定您应该通过提供用于验证推送消息的 16 个八位字节的 hard-to-guess 序列来生成此机密。这应该由加密强度高的随机数生成器 [RFC4086] 生成。