Een nieuwe VPN-locatie reset de meldingsmachtiging niet
Meldingsmachtiging hoort bij de oorsprong van de site, niet bij je IP. Bekijk welke laag welke toestemming vasthoudt en waarom push-bezorging via een VPN kapot lijkt.
Het idee dat een VPN-wissel de meldingsmachtiging van een site kan resetten, is onjuist op een manier die mensen echte tijd kost. Niets aan je uitgaande adres maakt deel uit van het toestemmingsrecord. De toestemming van een site wordt tegen zijn oorsprong in één browserprofiel opgeslagen, dus verhuizen van de ene server naar de andere laat hem precies waar hij was. Wat wel verandert, is je sessie, en dat is meestal waar mensen naar kijken als ze besluiten dat de VPN iets met hun meldingen heeft gedaan.
Drie opslagplaatsen die op één instelling lijken
De toestemming is één record, de meldingsschakelaar van het besturingssysteem is een tweede, en de eigen abonnementsstatus van de site is een derde. Elk wordt op een andere plek door een andere actie ingetrokken.
| 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 |
Waaraan de toestemming hangt
De meldingsmachtiging voor het web geldt per oorsprong en per profiel. Hij volgt https://app.example.com in plaats van je openbare adres, waardoor dezelfde site op een andere machine opnieuw moet vragen, en waardoor een ander VPN-eindpunt geen nieuwe prompt oplevert. Controleer het waar het wordt vastgelegd: het meldingenpaneel in de site-instellingen somt oorsprongen met toestemming op, en de pagina zelf kan zijn status melden.
chrome://settings/content/notifications
navigator.permissions.query({name: 'notifications'})
chrome://serviceworker-internals
De query meldt de status die de oorsprong al heeft zonder een nieuwe te vragen, en de service worker-pagina is de plek waar een registratie en het push-abonnement leven of niet leven. Als de toestemming er is en bezorging nog steeds mislukt, kijk je naar de derde laag en niet naar de eerste.
Het push-pad is een eigen relatie
Web Push voegt een abonnement toe dat de pagina niet rechtstreeks beheert. De browser vraagt een PushSubscription aan bij een pushdienst, geeft de pagina een eindpunt-URL, en bezorging gaat later naar dat eindpunt en wordt doorgegeven aan de geregistreerde service worker. De MDN-documentatie over PushSubscription beschrijft het eindpunt als een aangepaste URL bij een pushserver voor de abonnerende worker, en dat is precies het punt: het is een bezorgcapaciteit, geen openbaar adres dat je publiceert.
Daaruit volgen twee gevolgen. Ten eerste moet een eindpunt-URL als gevoelig worden behandeld, dus die hoort niet in een openbare supportthread. Ten tweede legt de pushdienst zijn eigen authenticatie op, dus alleen de URL hebben is geen bewijs dat iemand een geauthenticeerd bericht kan sturen. Als je je afmeldt, vertelt de browser de pushdienst het abonnement ongeldig te maken, en dat is de actie die bezorging beëindigt. Van VPN-server wisselen is die actie niet.
Waarom de VPN schuldig lijkt
Verander je uitgaande adres en veel sites authenticeren je opnieuw, roteren een sessiecookie of tekenen hun instellingenpagina vanaf nul opnieuw. Meldingen van die site kunnen dan stoppen om redenen die niets met de toestemming te maken hebben: de nieuwe sessie is niet de geabonneerde, de site controleert zijn eigen marketingtoestemming opnieuw, of een regionale regel verbergt de functie. Bezorging kan ook mislukken omdat de host van het push-eindpunt via het nieuwe pad onbereikbaar of traag is, wat van buiten precies op een ingetrokken toestemming lijkt.
Lees de lagen apart voordat je iets concludeert. Het toestemmingspaneel zegt of de toestemming bestaat; de service worker-lijst zegt of een registratie en abonnement bestaan; de schakelaar van het besturingssysteem zegt of de browser überhaupt iets mag tonen.
Verander wat je wilde veranderen
Als je wilt dat meldingen stoppen, trek de toestemming voor die oorsprong in en meld de push-instelling van de site af, en bevestig dan dat de schakelaar van het besturingssysteem niet het enige is tussen de site en je vergrendelingsscherm. Toekomstige meldingen blokkeren verwijdert niet de accountgegevens die de site al heeft, en dat is een apart verzoek aan de site.
Als je een ander netwerkpad wilt, wissel van VPN. Dat beïnvloedt sessie-identiteit, geografische regels en welke servers je kunt bereiken, en het laat de meldingsmachtiging ongemoeid.
Behandel de inhoud van een melding met hetzelfde wantrouwen via een VPN als zonder. Een bekende browser die een bericht toont, is geen bewijs dat de afzender of de link legitiem is.