En ny VPN-plats återställer inte aviseringsbehörigheten
Aviseringsbehörigheten tillhör webbplatsens ursprung, inte din IP-adress. Se vilket lager som håller varje behörighet och varför push-leverans ser trasig ut över en VPN.
Föreställningen att ett VPN-byte kan återställa en webbplats aviseringsbehörighet är fel på ett sätt som kostar människor verklig tid. Ingenting i din utgångsadress är en del av behörighetsposten. En webbplats behörighet lagras mot dess ursprung i en enda webbläsarprofil, så att flytta från en server till en annan lämnar den precis där den var. Det som faktiskt ändras är din session, och det är vanligtvis det folk tittar på när de drar slutsatsen att VPN:en gjorde något med deras aviseringar.
Tre lager som ser ut som en enda inställning
Behörigheten är en post, operativsystemets aviseringsbrytare är en annan och webbplatsens egen prenumerationsstatus är en tredje. Var och en återkallas på olika ställen av olika åtgärder.
| 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 |
Vad behörigheten är knuten till
Behörighet för webbaviseringar är per ursprung och per profil. Den följer https://app.example.com i stället för din offentliga adress, vilket är anledningen till att samma webbplats som tillfrågas på en annan maskin fortfarande måste fråga igen, och till att en annan VPN-slutpunkt inte ger en ny förfrågan. Kontrollera det där det registreras: aviseringspanelen i webbplatsinställningarna listar ursprung som har fått behörighet, och själva sidan kan rapportera sitt tillstånd.
chrome://settings/content/notifications
navigator.permissions.query({name: 'notifications'})
chrome://serviceworker-internals
Frågan rapporterar det tillstånd som ursprunget redan har utan att be om ett nytt, och service worker-sidan är platsen där en registrering och dess push-prenumeration lever eller inte lever. Om behörigheten finns och leveransen fortfarande misslyckas tittar du på det tredje lagret och inte det första.
Push-vägen är en egen relation
Web Push lägger till en prenumeration som sidan inte kontrollerar direkt. Webbläsaren begär en PushSubscription från en push-tjänst, ger sidan en slutpunkts-URL, och leveransen går senare till den slutpunkten och skickas vidare till den registrerade service workern. MDN:s dokumentation om PushSubscription beskriver slutpunkten som en anpassad URL hos en push-server för workern som prenumererar, och det är hela poängen: det är en leveransförmåga, inte en offentlig adress som du publicerar.
Två konsekvenser följer. För det första bör en slutpunkts-URL behandlas som känslig, så den hör inte hemma i en offentlig supporttråd. För det andra tillämpar push-tjänsten sin egen autentisering, så att bara ha URL:en är inte bevis för att någon kan skicka ett autentiserat meddelande. När du avregistrerar dig säger webbläsaren till push-tjänsten att ogiltigförklara prenumerationen, och det är åtgärden som avslutar leveransen. Att byta VPN-servrar är inte den åtgärden.
Varför VPN:en verkar skyldig
Byt ut din utgångsadress och många webbplatser autentiserar dig igen, roterar en sessionskaka eller ritar om sin inställningssida från grunden. Aviseringar från den webbplatsen kan då sluta av skäl som inte har något med behörigheten att göra: den nya sessionen är inte den prenumererade, webbplatsen kontrollerar sitt eget marknadsföringssamtycke igen, eller en regionregel döljer funktionen. Leveransen kan också misslyckas eftersom värden för push-slutpunkten är onåbar eller långsam via den nya vägen, vilket utifrån ser identiskt ut med en återkallad behörighet.
Läs lagren var för sig innan du drar någon slutsats. Behörighetspanelen säger om behörigheten finns; service worker-listan säger om en registrering och en prenumeration finns; operativsystemets brytare säger om webbläsaren överhuvudtaget får visa något.
Ändra det du hade för avsikt att ändra
Om du vill att aviseringar ska sluta, återkalla behörigheten för det ursprunget och avregistrera webbplatsens push-inställning, och bekräfta sedan att operativsystemets brytare inte är det enda mellan webbplatsen och din låsskärm. Att blockera framtida aviseringar raderar inte de kontouppgifter som webbplatsen redan har, och det är en separat begäran till webbplatsen.
Om du vill ha en annan nätverksväg, byt VPN. Det påverkar sessionsidentitet, geografiska regler och vilka servrar du kan nå, och det lämnar aviseringsbehörigheten orörd.
Behandla innehållet i en avisering med samma misstroende över en VPN som utan. En bekant webbläsare som visar ett meddelande är inte bevis för att avsändaren eller länken är legitim.