Partilhar via


Processar as alterações de cookies do SameSite no browser do Chrome

O que é SameSite?

SameSite é uma propriedade que pode ser definida em cookies HTTP para evitar ataques Cross Site Request Forgery (CSRF) em aplicações web:

  • Quando SameSite é definido como Lax, o cookie é enviado em solicitações dentro do mesmo site e em solicitações GET de outros sites. Não é enviado em pedidos GET entre diferentes domínios.
  • Um valor de Strict garante que o cookie seja enviado em solicitações apenas dentro do mesmo site.

Por padrão, o valor NÃO é definido em navegadores e é por isso que não há restrições sobre cookies SameSite sendo enviados em solicitações. Uma aplicação precisaria optar pela proteção CSRF, definindo Lax ou Strict de acordo com os seus requisitos.

Alterações no SameSite e impacto na autenticação

Atualizações recentes nos padrões do SameSite propõem proteger as aplicações tornando o comportamento padrão de SameSite para quando nenhum valor é definido como Lax. Esta atenuação significa que os cookies serão restritos a pedidos HTTP, exceto GET feitos a partir de outros sites. Além disso, um valor de Nenhum é introduzido para remover as restrições de cookies que estão sendo enviados. Essas atualizações serão lançadas em breve em uma próxima versão do navegador Chrome.

Quando os aplicativos Web são autenticados com a plataforma de identidade da Microsoft usando o modo de resposta "form_post", o servidor de logon responde ao aplicativo usando um HTTP POST para enviar os tokens ou o código de autenticação. Uma vez que este pedido é um pedido entre domínios (de login.microsoftonline.com para o seu domínio, por exemplo https://contoso.com/auth), os cookies que foram definidos pela sua aplicação enquadram-se agora nas novas regras do Chrome. Os cookies que precisam ser usados em cenários entre sites são cookies que contêm os valores state e nonce , que também são enviados na solicitação de login. Existem outros cookies descartados pelo Microsoft Entra ID para manter a sessão.

Se você não atualizar seus aplicativos Web, esse novo comportamento resultará em falhas de autenticação.

Mitigação e amostras

Para superar as falhas de autenticação, as aplicações web que autenticam com a plataforma de identidade da Microsoft podem definir a propriedade SameSite para None para cookies que são utilizados em cenários entre domínios quando executados no navegador Chrome. Outros navegadores (veja aqui uma lista completa) seguirão o comportamento anterior e não incluirão os cookies se SameSite=None estiver definido. É por isso que, para suportar a autenticação em vários navegadores, os aplicativos da Web terão que definir o SameSite valor como None apenas no Chrome e deixar o valor vazio em outros navegadores.

Essa abordagem é demonstrada no código de exemplo a seguir.

Próximos passos

Saiba mais sobre o SameSite e o cenário do aplicativo Web: