JÁ DISPONÍVEL

Serviço de Aplicações do Azure — tratamento de cookies SameSite e patch do .NET Framework 4.7.2

Data de publicação: 18 janeiro, 2020

Como parte da atualização de janeiro de 2020 ao Serviço de Aplicações do Azure, estão a ser instalados patches do .NET Framework que atualizam a forma como as aplicações .NET Framework processam a propriedade do cookie SameSite. O serviço também está a implementar um comportamento de compatibilidade do Serviço de Aplicações que se aplica a todas as aplicações em execução no Serviço de Aplicações para cenários onde um cookie definiu a propriedade SameSite como "None".

As versões de .NET Core na plataforma do Serviço de Aplicações já contêm atualizações para o tratamento de cookies SameSite e não serão alteradas como parte da atualização do serviço de janeiro de 2020.

O payload do Serviço de Aplicações do Azure está a ser implementado ao longo de janeiro de 2020, com uma data de conclusão prevista no fim de janeiro 2020 na cloud pública do Azure, em todos os ambientes do Serviço de Aplicações e nas clouds nacionais.  Veja as informações mais recentes sobre a implementação.

Uma vez que as atualizações são implementadas de forma incremental em todo o serviço, as aplicações começarão a ser executadas no payload do Serviço de Aplicações mais recente em alturas diferentes durante o período de implementação.  Para determinarem se as aplicações estão a ser executadas no payload do Serviço de Aplicações atualizado, os programadores podem verificar a versão do Serviço de Aplicações no site do SCM. O site do SCM está disponível no portal, a partir da opção Ferramentas de Desenvolvimento – > Ferramentas Avançadas.  Em alternativa, os programadores podem navegar diretamente para o site do SCM para uma aplicação através do seguinte formato de URL:  https://your-sitename-here.scm.azurewebsites.net.

Em sites do Serviço de Aplicações do Windows, a home page do site do SCM mostra a versão do Serviço de Aplicações do Azure.  Se a versão for 86.0.7.148 (ou posterior), a aplicação associada é executada na nova versão corrigida do Serviço de Aplicações.

Em sites do Serviço de Aplicações do Linux, clicar na opção Ambiente no menu superior do site do SCM devolve uma página com as variáveis de ambiente de todos os sites. A página resultante terá um URL com o seguinte formato:  https://your-sitename-here.scm.azurewebsites.net/Env.  A variável de ambiente PLATFORM_VERSION mostra a versão atual do Serviço de Aplicações.  Se a versão for 86.0.7.148 (ou posterior), a aplicação associada é executada na nova versão corrigida do Serviço de Aplicações.

Detalhes sobre o Patch do .NET Framework para SameSite

Os detalhes específicos sobre as diferenças no tratamento de cookies SameSite incluídos no patch do .NET Framework 4.7.2 são descritos neste artigo

Com o patch do .NET Framework instalado, o .NET Framework altera as predefinições da propriedade de configuração cookieSameSite de Estado de Sessão e Autenticação de Formulários para "Lax".   O .NET Framework também envia automaticamente a propriedade de cookie SameSite=None na transmissão quando HttpCookie.SameSite foi definido como o valor "None".

Informações adicionais sobre o tratamento de cookies SameSite com o .NET Framework estão disponíveis neste artigo, bem como na nossa documentação.

Leia mais sobre a predefinição de cookieSameSite da autenticação de formulários neste artigo

Leia mais sobre a predefinição de cookieSameSite do estado de sessão neste artigo.

Neste artigo estão disponíveis informações adicionais sobre o tratamento de cookies SameSite com o .NET Core. 

Detalhes sobre o comportamento de compatibilidade do Serviço de Aplicações do Azure

Além do patch do .NET Framework, o Serviço de Aplicações do Azure introduziu um comportamento de compatibilidade para o cenário onde uma resposta HTTP/HTTPS inclui um cabeçalho de cookie com uma propriedade SameSite definida como o valor "None", e o agente de utilizador requerente corresponde a um subconjunto específico de browsers mais antigos que não suportam o padrão SameSite mais recente de 2019 e, por isso, não reconhecem a propriedade SameSite "None".  Quando for detetado um browser mais antigo, o Serviço de Aplicações do Azure irá remover automaticamente a propriedade de cookie SameSite=None, caso seja detetada nos cabeçalhos da resposta.

O efeito líquido do comportamento de compatibilidade do Serviço de Aplicações é que um subconjunto específico de browsers mais antigos não receberá um valor SameSite não reconhecido (o que pode fazer com que os browsers mais antigos revertam para o comportamento SameSite=Strict), enquanto os browsers mais recentes, como o Chrome v80, receberão a propriedade de cookie SameSite=None.

A lógica de deteção específica utilizada pelo Serviço de Aplicações para determinar quando remover a propriedade SameSite=None de uma resposta segue a pseudo-lógica documentada neste artigo.

Os programadores devem rever a utilização e a confiança (se existir) das suas aplicações na propriedade de cookie SameSite e atualizar a lógica da aplicação com a deteção de agente de utilizador e tratamento especial, conforme apropriado para o cenário de cada aplicação. O comportamento de compatibilidade da plataforma do Serviço de Aplicações pretende ser apenas uma mitigação parcial para auxiliar os programadores enquanto as aplicações são atualizadas no tratamento do comportamento do SameSite 2019 nas versões mais recentes do browser.

Os programadores devem rever também os requisitos adicionais do browser quando os cookies incluem a propriedade SameSite=None. Por exemplo, o Chrome v80 apenas respeitará a propriedade SameSite=None se o cookie também estiver assinalado com o atributo Secure e o cookie estiver a ser transmitido através de uma ligação HTTPS. Veja mais detalhes.  

O comportamento de compatibilidade do Serviço de Aplicações do Azure é implementado na infraestrutura edge da rede do Serviço de Aplicações. O comportamento está ativo para todos os sites em execução no Serviço de Aplicações, independentemente da linguagem ou arquitetura utilizada pelo site. A funcionalidade de compatibilidade funciona para os sites em execução nas variações do Serviço de Aplicações do Linux e do Windows, para Ambientes do Serviço de Aplicações e para todas as implementações na cloud do Serviço de Aplicações do Azure.

 

  • Serviço de Aplicações
  • Services

Produtos Relacionados