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 doménou, 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. To znamená, že soubory cookie budou omezeny na požadavky HTTP s výjimkou get provedených 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 mezi doménou ( login.microsoftonline.com například https://contoso.com/authz vaší domény), soubory cookie nastavené vaší aplikací teď spadají pod nová pravidla v Chromu. Soubory cookie, které je potřeba použít ve scénářích mezi weby, jsou soubory cookie, které obsahují stav a hodnoty, 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

Kvůli překonání selhání ověřování můžou webové aplikace, které se ověřují na platformě Microsoft Identity Platform, nastavit SameSite vlastnost None pro soubory cookie, které se používají 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: