Dela via


Hantera SameSite-cookieändringar i webbläsaren Chrome

Vad är SameSite?

SameSite är en egenskap som kan anges i HTTP-cookies för att förhindra csrf-attacker (Cross Site Request Forgery) i webbprogram:

  • När SameSite är inställt på Lax skickas cookien i begäranden på samma webbplats och i GET-begäranden från andra webbplatser. Det skickas inte i GET-begäranden som är korsdomäner.
  • Värdet Strikt säkerställer att cookien endast skickas i begäranden på samma webbplats.

Som standard SameSite anges värdet INTE i webbläsare och det är därför det inte finns några begränsningar för cookies som skickas i begäranden. Ett program skulle behöva anmäla sig till CSRF-skyddet genom att ange Lax eller Strict enligt deras krav.

SameSite-ändringar och påverkan på autentisering

De senaste uppdateringarna av SameSite standarderna på SameSite föreslår att du skyddar appar genom att göra standardbeteendet för när inget värde har angetts till Lax. Den här begränsningen innebär att cookies begränsas på HTTP-begäranden förutom GET som görs från andra webbplatser. Dessutom introduceras värdet None för att ta bort begränsningar för cookies som skickas. Dessa uppdateringar kommer snart att släppas i en kommande version av Webbläsaren Chrome.

När webbappar autentiseras med Microsofts identitetsplattform med svarsläget "form_post" svarar inloggningsservern på programmet med hjälp av ett HTTP POST för att skicka token eller autentiseringskod. Eftersom den här begäran är en begäran mellan domäner (från login.microsoftonline.com till exempel https://contoso.com/authdin domän) omfattas cookies som har angetts av din app nu under de nya reglerna i Chrome. Cookies som måste användas i scenarier mellan webbplatser är cookies som innehåller värden för tillstånd och nonce , som också skickas i inloggningsbegäran. Det finns andra cookies som släppts av Microsoft Entra-ID för att hålla sessionen.

Om du inte uppdaterar dina webbappar resulterar det här nya beteendet i autentiseringsfel.

Åtgärd och exempel

För att lösa autentiseringsfelen kan webbappar som autentiserar med Microsofts identitetsplattform ange SameSite egenskapen till None för cookies som används i scenarier mellan domäner när de körs i Webbläsaren Chrome. Andra webbläsare (se här för en fullständig lista) följer det tidigare beteendet SameSite för och inkluderar inte cookies om SameSite=None de har angetts. Därför måste webbappar för att stödja autentisering i flera webbläsare ange SameSite värdet till None endast i Chrome och lämna värdet tomt i andra webbläsare.

Den här metoden visas i följande exempelkod.

Nästa steg

Läs mer om SameSite och webbappscenariot: