Cross-Origin Resource Sharing
CORS styr webbläsarens åtkomst till svar från en annan origin. Det ersätter varken API-inloggning eller behörighetskontroll.
Låt en annan origin läsa svar
Cross-Origin Resource Sharing, förkortat CORS, är en mekanism med HTTP-rubriker. Servern anger från vilka andra origins webbläsarkod får åtkomst till dess svar. En origin omfattar protokoll, värd och port. Webbläsaren tillämpar regeln; CORS är ingen API-inloggning.
Skilj på portal och API
En fiktiv portal på https://portal.example vill läsa projektdata från https://api.example/projects. API:t kan tillåta portalens origin med Access-Control-Allow-Origin. Beroende på metod och rubriker frågar webbläsaren först med OPTIONS om det faktiska anropet är tillåtet. Förkontrollen kallas preflight och sker inte vid varje anrop.
Vid andra anrop kan förfrågan redan nå servern, även om webbläsaren sedan inte ger skriptet tillgång till svaret. Ett CORS-fel bevisar därför inte att ingenting har hänt på servern.
Om sessionskakor ska skickas med måste även inställningarna för autentiseringsuppgifter stämma. Sådana svar kräver en uttrycklig origin i stället för jokertecknet *; även Access-Control-Allow-Credentials är relevant. Webbläsarens regler för kakor gäller fortfarande. Oberoende av detta kontrollerar API:t identitet och rättigheter för begärda projektdata.
Källor
Relaterade begrepp
- Same-origin-policy (SOP)Same-origin-policyn begränsar webbläsaråtkomst mellan olika origins. En annan sidväg skapar inte i sig en ny origin.
- Cross-site request forgery (CSRF)CSRF utnyttjar en inloggad session för en oönskad förfrågan. Sessionscookien ensam bevisar inte att personen avsåg handlingen.
- SameSite-kakaSameSite påverkar sändning av kakor mellan webbplatser. Valet måste passa inloggning och navigering; CSRF-skydd behövs fortfarande.
- Server-Sent EventsServer-Sent Events skickar textmeddelanden från server till klient via HTTP, exempelvis om ett bakgrundsjobbs förlopp.
- ETagEn ETag identifierar en viss representationsversion av en HTTP-resurs och stöder villkorade hämtningar eller ändringar.
- Elektroniskt datautbyteEDI överför strukturerade affärsdokument mellan system. Format, partnerprofil, datamappning och återkoppling måste stämma överens.
Ditt projekt med ASES
Beskriv ditt projekt för oss. Vi hör av oss med en första bedömning.