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-förfrågningar som går över domängränser.
  • Värdet Strikt säkerställer att cookien endast skickas i begäranden på samma webbplats.

Som standard anges SameSite-värdet INTE i webbläsare, och därför finns det inga 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 standarderna på SameSite föreslår att appar skyddas genom att göra standardbeteendet Lax när inget värde har angetts. 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 state- och nonce-värden, vilka 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.

Minskning och prover

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 och inkluderar inte cookies om SameSite=None är satt. 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: