Nowa lokalizacja VPN nie resetuje uprawnienia do powiadomień
Uprawnienie do powiadomień należy do pochodzenia witryny, a nie do Twojego adresu IP. Sprawdź, która warstwa trzyma każde uprawnienie i dlaczego dostarczanie push wygląda na zepsute przez VPN.
Przekonanie, że zmiana VPN może zresetować uprawnienie witryny do powiadomień, jest błędne w sposób, który kosztuje ludzi realny czas. Nic w Twoim adresie wyjściowym nie jest częścią rekordu uprawnienia. Uprawnienie witryny jest przechowywane wobec jej pochodzenia w jednym profilu przeglądarki, więc przejście z jednego serwera na drugi zostawia je dokładnie tam, gdzie było. Zmienia się natomiast Twoja sesja, i to zwykle na nią ludzie patrzą, gdy uznają, że VPN zrobił coś z ich powiadomieniami.
Trzy magazyny, które wyglądają jak jedno ustawienie
Uprawnienie to jeden rekord, przełącznik powiadomień systemu operacyjnego to drugi, a własny stan subskrypcji witryny to trzeci. Każdy jest odwoływany w innym miejscu przez inną czynność.
| 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 |
Do czego jest przypisane uprawnienie
Uprawnienie do powiadomień internetowych jest według pochodzenia i według profilu. Podąża za https://app.example.com a nie za Twoim adresem publicznym, dlatego ta sama witryna pytana na innym komputerze musi zapytać ponownie, i dlatego inny punkt końcowy VPN nie tworzy nowego monitu. Sprawdź to tam, gdzie jest zapisywane: panel powiadomień w ustawieniach witryny wymienia pochodzenia, którym udzielono uprawnienia, a sama strona może zgłosić swój stan.
chrome://settings/content/notifications
navigator.permissions.query({name: 'notifications'})
chrome://serviceworker-internals
Zapytanie zgłasza stan, który pochodzenie już ma, bez proszenia o nowy, a strona service workera to miejsce, w którym rejestracja i jej subskrypcja push żyją albo nie potrafią żyć. Jeśli uprawnienie jest, a dostarczanie nadal zawodzi, patrzysz na trzecią warstwę, a nie pierwszą.
Ścieżka push to odrębna relacja
Web Push dodaje subskrypcję, której strona nie kontroluje bezpośrednio. Przeglądarka prosi o PushSubscription w usłudze push, przekazuje stronie URL punktu końcowego, a dostarczanie trafia później do tego punktu i jest przekazywane zarejestrowanemu service workerowi. Dokumentacja MDN dotycząca PushSubscription opisuje punkt końcowy jako niestandardowy URL na serwerze push dla workera, który subskrybuje, i o to właśnie chodzi: to zdolność dostarczania, a nie publiczny adres, który publikujesz.
Wynikają z tego dwie konsekwencje. Po pierwsze, URL punktu końcowego należy traktować jako wrażliwy, więc nie ma miejsca w publicznym wątku pomocy. Po drugie, usługa push wymusza własne uwierzytelnianie, więc samo posiadanie URL nie jest dowodem, że ktokolwiek może wysłać uwierzytelnioną wiadomość. Gdy rezygnujesz z subskrypcji, przeglądarka każe usłudze push unieważnić subskrypcję, i to jest czynność, która kończy dostarczanie. Zmiana serwerów VPN nie jest tą czynnością.
Dlaczego VPN wygląda na winny
Zmień adres wyjściowy, a wiele witryn uwierzytelni Cię ponownie, obróci ciasteczko sesji albo od nowa narysuje swoją stronę ustawień. Powiadomienia z tej witryny mogą wtedy ustać z powodów, które nie mają nic wspólnego z uprawnieniem: nowa sesja nie jest subskrybowaną, witryna ponownie sprawdza własną zgodę marketingową, albo reguła regionalna ukrywa funkcję. Dostarczanie może też zawieść, bo host punktu końcowego push jest przez nową ścieżkę nieosiągalny lub wolny, co z zewnątrz wygląda identycznie jak odwołane uprawnienie.
Czytaj warstwy osobno, zanim cokolwiek wyciągniesz. Panel uprawnień mówi, czy uprawnienie istnieje; lista service workerów mówi, czy istnieje rejestracja i subskrypcja; przełącznik systemu operacyjnego mówi, czy przeglądarka może w ogóle cokolwiek wyświetlić.
Zmień to, co chciałeś zmienić
Jeśli chcesz, aby powiadomienia ustały, odwołaj uprawnienie dla tego pochodzenia i anuluj subskrypcję ustawienia push witryny, a następnie potwierdź, że przełącznik systemu operacyjnego nie jest jedyną rzeczą między witryną a Twoim ekranem blokady. Blokowanie przyszłych powiadomień nie usuwa danych konta, które witryna już ma, i jest to osobna prośba do witryny.
Jeśli chcesz innej ścieżki sieciowej, zmień VPN. Wpływa ona na tożsamość sesji, reguły geograficzne i to, do których serwerów dotrzesz, a uprawnienie do powiadomień pozostawia nietknięte.
Traktuj treść powiadomienia z tą samą nieufnością przez VPN, co bez niego. Znana przeglądarka wyświetlająca wiadomość nie jest dowodem, że nadawca lub link są legalne.