新しいVPNの場所は通知の許可をリセットしない
通知の許可はサイトのオリジンに属し、あなたのIPには属しません。どの層がどの許可を保持しているのか、そしてVPN経由でpush配信が壊れて見える理由を確認しましょう。
VPNを変えるとサイトの通知許可がリセットされるという考えは、人々の実際の時間を奪う形で間違っています。あなたの出口アドレスのどこも、許可の記録の一部ではありません。サイトの許可は、一つのブラウザプロファイルの中でそのオリジンに対して保存されるため、あるサーバーから別のサーバーへ移っても、まったく同じ場所にとどまります。実際に変わるのはセッションであり、人々がVPNが通知に何かをしたと判断するとき、たいてい見ているのはそれです。
一つの設定に見える三つの保管場所
許可は一つの記録、オペレーティングシステムの通知スイッチは別の記録、サイト自身の購読状態は三つ目の記録です。それぞれが別の場所で別の操作によって取り消されます。
| Layer | Where it lives | What actually revokes it |
|---|---|---|
| Permission grant | Browser profile, keyed by origin | Site settings, site reset, or clearing site data |
| OS delivery switch | Operating system notification settings | The OS per-app or per-browser toggle |
| Push subscription | Push service, bound to a service worker registration | Unsubscribe, or a subscription the service considers expired |
許可は何に紐づいているのか
Web通知の許可はオリジンごと、プロファイルごとです。それはhttps://app.example.comあなたの公開アドレスではなく、そのURLに従うため、別のマシンで問い合わせた同じサイトがもう一度尋ねる必要があり、別のVPNエンドポイントが新しいプロンプトを生みません。記録されている場所、つまりサイト設定の通知パネルに並ぶ許可済みオリジンと、ページ自身が報告する状態を確認してください。
chrome://settings/content/notifications
navigator.permissions.query({name: 'notifications'})
chrome://serviceworker-internals
クエリは新しい状態を求めることなく、オリジンがすでに持っている状態を報告します。service workerのページは、登録とそのpush購読が存在するか存在できない場所であり、許可がありながら配信が失敗するなら、見ているのは最初の層ではなく三番目の層です。
pushの経路はそれ自体が独立した関係です
Web Pushは、ページが直接制御しない購読を追加します。ブラウザはPushSubscriptionpushサービスに要求し、ページにエンドポイントURLを渡し、配信は後でそのエンドポイントに送られ、登録されたservice workerに渡されます。MDNのPushSubscriptionのドキュメントは、エンドポイントを購読するworkerのためのpushサーバー上の固有のURLと説明しており、配信機能であってあなたが公開する公開アドレスではないという点が要点です。
そこから二つの帰結が生じます。第一に、エンドポイントURLは機密として扱うべきで、公開のサポートスレッドに置くべきではありません。第二に、pushサービスは独自の認証を課すため、URLを持っているだけでは、誰かが認証済みのメッセージを送れる証拠にはなりません。購読を解除すると、ブラウザはpushサービスに購読を無効化するよう伝え、それが配信を終わらせる操作です。VPNサーバーの切り替えはその操作ではありません。
VPNが犯人に見える理由
出口アドレスを変えると、多くのサイトがあなたを再認証し、セッションCookieをローテーションし、設定ページを一から描き直します。そのとき、そのサイトからの通知が、新しいセッションが購読したセッションではない、サイトが独自のマーケティング同意を再確認する、地域ルールが機能を隠す、といった許可とは無関係な理由で止まることがあります。新しい経路でpushエンドポイントのホストに到達できない、あるいは遅いために配信が失敗することもあり、外から見ると取り消された許可とまったく同じに見えます。
何かを結論づける前に、層を別々に読んでください。許可パネルは許可が存在するかを示し、service workerの一覧は登録と購読が存在するかを示し、OSのスイッチはブラウザがそもそも何かを表示してよいかを示します。
変えたいものを変えましょう
通知を止めたいなら、そのオリジンの許可を取り消し、サイトのpush設定を購読解除してから、OSのスイッチがサイトとロック画面の間にある唯一のものではないことを確認してください。今後の通知をブロックしても、サイトがすでに持っているアカウントデータは削除されず、それはサイトへの別の依頼です。
別のネットワーク経路が欲しいなら、VPNを変えてください。それはセッションの同一性、地理ルール、到達できるサーバーに影響し、通知の許可には手を付けません。
VPN経由でもそうでなくても、通知の内容には同じ疑いを持って接してください。見慣れたブラウザがメッセージを表示していることは、送信者やリンクが正当である証拠にはなりません。