Condividi tramite


Gestire le modifiche ai cookie SameSite nel browser Chrome

Che cos'è SameSite?

SameSite è una proprietà che può essere impostata nei cookie HTTP per evitare attacchi cross site request forgery (CSRF) nelle applicazioni Web:

  • Quando SameSite è impostato su Lax, il cookie viene inviato nelle richieste all'interno dello stesso sito e nelle richieste GET da altri siti. Non viene inviato nelle richieste GET tra domini.
  • Un valore di Strict garantisce che il cookie venga inviato nelle richieste solo all'interno dello stesso sito.

Per impostazione predefinita, il valore SameSite NON è impostato nei browser ed è per questo motivo che non esistono restrizioni sull'invio di cookie nelle richieste. Un'applicazione dovrà acconsentire esplicitamente alla protezione CSRF impostando Lax o Strict in base ai requisiti.

Modifiche SameSite e impatto sull'autenticazione

Recenti aggiornamenti agli standard in SameSite propongono di proteggere le app creando il comportamento predefinito di SameSite quando non è impostato alcun valore su Lax. Questa mitigazione significa che i cookie saranno limitati alle richieste HTTP ad eccezione di GET effettuato da altri siti. Inoltre, viene introdotto un valore di Nessuno per rimuovere le restrizioni relative all'invio dei cookie. Questi aggiornamenti verranno presto rilasciati in una versione futura del browser Chrome.

Quando le app Web eseguono l'autenticazione con Microsoft Identity Platform usando la modalità di risposta "form_post", il server di accesso risponde all'applicazione usando un HTTP POST per inviare i token o il codice di autenticazione. Poiché questa richiesta è una richiesta tra domini (da login.microsoftonline.com al dominio, ad esempio https://contoso.com/auth), i cookie impostati dall'app ora rientrano nelle nuove regole in Chrome. I cookie che devono essere usati in scenari tra siti sono cookie che contengono i valori stato e nonce, che vengono inviati anche nella richiesta di accesso. Ci sono altri cookie eliminati da Microsoft Entra ID per bloccare la sessione.

Se non si aggiornano le app Web, questo nuovo comportamento comporterà errori di autenticazione.

Mitigazione ed esempi

Per superare gli errori di autenticazione, le app Web che eseguono l'autenticazione con Microsoft Identity Platform possono impostare la proprietà SameSite su None per i cookie usati in scenari tra domini durante l'esecuzione nel browser Chrome. Altri browser (vedere qui per un elenco completo) seguono il comportamento precedente di SameSite e non includeranno i cookie nel caso in cui SameSite=None sia impostato. Per questo motivo, per supportare l'autenticazione in più browser le app Web dovranno impostare il valore SameSite su None solo in Chrome e lasciare vuoto il valore in altri browser.

Questo approccio è dimostrato anche nel codice di esempio che segue.

Passaggi successivi

Ulteriori informazioni su SameSite e sullo scenario dell'app Web: