Sdílet prostřednictvím


Zpracování změn souborů cookie SameSite v prohlížeči Chrome

Co je SameSite?

SameSite je vlastnost, která se dá nastavit v souborech cookie HTTP, aby se zabránilo útokům CSRF (Cross Site Request Forgery) ve webových aplikacích:

  • Pokud SameSite je nastavena na Lax, soubor cookie se odesílá v žádostech na stejném webu a v žádostech GET z jiných webů. V požadavcích GET, které jsou mezi různými doménami, se neodesílají.
  • Hodnota Strict zajišťuje, aby se soubor cookie odesílal v požadavcích pouze na stejném webu.

Ve výchozím nastavení SameSite není hodnota nastavena v prohlížečích a proto neexistují žádná omezení pro odesílání souborů cookie v požadavcích. Aplikace by se potřebovala přihlásit k ochraně CSRF nastavením Lax nebo Strict podle svých požadavků.

Změny samesite a vliv na ověřování

Nedávné aktualizace standardů na samesite navrhují ochranu aplikací tím, že nastaví výchozí chování SameSite , když není nastavena žádná hodnota Lax. Tato mitigace znamená, že soubory cookie budou omezeny na požadavky HTTP, s výjimkou těch GET, které jsou provedeny z jiných webů. Kromě toho se zavádí hodnota None , která odstraňuje omezení při odesílání souborů cookie. Tyto aktualizace budou brzy vydány v nadcházející verzi prohlížeče Chrome.

Když se webové aplikace ověřují pomocí platformy Microsoft Identity Platform pomocí režimu odpovědi "form_post", přihlašovací server odpoví na aplikaci pomocí http POST k odeslání tokenů nebo ověřovacího kódu. Vzhledem k tomu, že tento požadavek je žádost napříč doménami (například z login.microsoftonline.com do vaší domény - https://contoso.com/auth), soubory cookie, které vaše aplikace nastavila, nyní spadají pod nová pravidla v Chromu. Soubory cookie, které je potřeba použít ve scénářích napříč weby, jsou soubory cookie, které obsahují hodnoty stav a nonce, které se také posílají v žádosti o přihlášení. Existují další soubory cookie, které microsoft Entra ID zahodí za účelem uchování relace.

Pokud webové aplikace neaktualizujete, výsledkem tohoto nového chování bude selhání ověřování.

Zmírnění rizik a ukázky

K překonání selhání ověřování můžou webové aplikace, které se ověřují pomocí platformy Microsoft Identity, nastavit SameSite vlastnost None pro soubor cookie používaný ve scénářích mezi doménami při spuštění v prohlížeči Chrome. Ostatní prohlížeče (viz tady úplný seznam) se řídí předchozím chováním SameSite a neobsahují soubory cookie, pokud SameSite=None jsou nastavené. To je důvod, proč pro podporu ověřování ve více prohlížečích webové aplikace bude nutné nastavit SameSite hodnotu None pouze v Prohlížeči Chrome a ponechat hodnotu prázdnou v jiných prohlížečích.

Tento přístup je ukázaný v následujícím vzorovém kódu.

Další kroky

Další informace o samesite a scénáři webové aplikace: