Hallo Wessel,
We hebben uitgebreid onderzoek gedaan naar het probleem.
Vanmorgen hebben we de overstap gemaakt naar een nieuwe versie, die iets strikter is met CORS requests.
Dit is iets wat je browser automatisch doet als het gaat om het gebruik van services van andere âoriginsâ. In dit geval dus de BAG WFS service.
Op dat moment stuurt je browser een OPTIONS call met een aantal headers.
Het probleem is niet de âOriginâ header. Zodra je die weg haalt, dan wordt het request niet meer gezien als een preflight request zoals dat heet en wordt de OPTIONS call toegestaan.
Dat is ook wat er in de specificaties over CORS staat en preflight staat:
https://www.w3.org/TR/cors/#resource-preflight-requests
In het geval dat de origin header mist, dan komt het request meteen uit bij âNot CORSâ.
Er worden nog 2 CORS headers meegestuurd, 1 daarvan is âAccess-Control-Request-Headers:authorizationâ.
Dit geeft aan dat in het GET request een Authorization header mee gestuurd gaat worden.
Dit wordt niet toegestaan en daardoor krijgt je het antwoord â403 invalid corsâ.
Er is ook geen reden om dit mee te sturen, in die header staat het token of in het geval van basic authentication een gebruikersnaam en wachtwoord van jullie eigen applicatie, die naar PDOK toegestuurd word. Als PDOK doen we hier niks mee, maar het is ook onveilig om die zomaar toe te sturen. Dat is ook de reden waarom standaard die header niet is toegestaan.
Als je de header âAccess-Control-Request-Headers:authorizationâ weg laat gaat het ook goed.
Mogelijk dat er in de webapplicatie voor ieder uitgaand request een authorization header word toegevoegd, ongeacht waar het request naar toe gaat, dat resulteert dan in het gedrag wat nu is gezien.
Door terug te gaan naar de oude versie hebben we het probleem tijdelijk âopgelostâ. Gezien het feit dat dit geen probleem is in onze versie gaan we de nieuwe versie weer activeren.
Hartelijke groet,
Cees