遇到一个奇怪的问题,本来订阅了网页的推送通知,可是突然发现订阅失效了。
排查后发现,推送通知的endpoint改变了,也就是说,我的浏览器被认为是一个新的,没订阅过的用户。可问题是这个endpoint应该是唯一的用来识别用户身份的代码,不应该改变的。
继续排查,发现是启用Disable Content-Security-Policy这个扩展后,endpoint被改变了。
一般的网站,比如Facebook不受影响,因为他们并不检查Endpoint,只要是允许了通知就直接订阅。只有当网站要求用户主动订阅时才会被影响。
其他的扩展,包括adblock,暂时没发现这个问题。