Gå til innholdet

Cross-Origin Resource Sharing

CORS styrer nettleserens tilgang til svar fra en annen origin. Det erstatter verken API-innlogging eller kontroll av rettigheter.

Også kjent somCORS
API-er og datakontrakter

La en annen origin lese svar

Cross-Origin Resource Sharing, forkortet CORS, er en mekanisme med HTTP-headere. Serveren angir fra hvilke andre origins nettleserkode kan få tilgang til svarene. En origin omfatter protokoll, vert og port. Nettleseren håndhever regelen; CORS er ingen API-innlogging.

Skill mellom portal og API

En fiktiv portal på https://portal.example vil lese prosjektdata fra https://api.example/projects. API-et kan tillate portalens origin med Access-Control-Allow-Origin. Avhengig av metode og headere spør nettleseren først med OPTIONS om selve kallet er tillatt. Denne forhåndskontrollen kalles preflight og skjer ikke ved alle kall.

Ved andre kall kan forespørselen allerede nå serveren, selv om nettleseren deretter ikke gir skriptet tilgang til svaret. En CORS-feil beviser derfor ikke at ingenting har skjedd på serveren.

Skal sesjonskapsler sendes med, må også innstillingene for påloggingsopplysninger stemme. Slike svar krever en eksplisitt origin fremfor jokertegnet *; også Access-Control-Allow-Credentials er relevant. Nettleserens regler for informasjonskapsler gjelder fortsatt. Uavhengig av dette kontrollerer API-et identitet og rettigheter til de forespurte prosjektdataene.

Kilder