A partir do Chrome 115, as APIs de armazenamento, workers de serviço e comunicação são particionadas em contextos de terceiros. Além de serem isoladas pela política de mesma origem, as APIs afetadas usadas em contextos de terceiros também são separadas pelo site do contexto de nível superior.
Os sites que não tiveram tempo para implementar a compatibilidade com o particionamento de armazenamento de terceiros podem participar de um teste de descontinuação para remover a partição temporariamente (continuar o isolamento com a mesma política de origem, mas remover o isolamento por site de nível superior) e restaurar o comportamento anterior de armazenamento, service workers e APIs de comunicação no conteúdo incorporado no site.
Além de um teste de suspensão de uso geral para desparticionamento, é possível
participar de um teste de suspensão de uso específico para window.sessionStorage
.
Esse teste está disponível devido à necessidade de alguns sites migrarem o fluxo do Firebase
signInWithRedirect
. Para mais informações sobre essa migração, consulte
Práticas recomendadas para usar o signInWithRedirect em navegadores que bloqueiam o acesso ao armazenamento de terceiros.
Para que os desenvolvedores tenham mais tempo para se adaptar à nova implementação do particionamento de armazenamento, os testes de descontinuação vão estar disponíveis até o lançamento do Chrome 127, programado para 23 de julho de 2024. O teste de descontinuação vai expirar para os usuários das versões 111 a 126 do Chrome em 3 de setembro de 2024.
Testes de descontinuação disponíveis
A partir do Chrome 115, dois testes de descontinuação estão disponíveis:
DisableThirdPartyStoragePartitioning
: permite que um site de nível superior remova a partição (remova temporariamente o isolamento por site de nível superior) em APIs de armazenamento, service workers e comunicação em conteúdo de terceiros incorporado nas páginas.DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
: permite que um site desfaça a partição desessionStorage
nas navegações.
Confira abaixo uma visão geral do teste de descontinuação e o que esperar. Se você tiver feedback para compartilhar ou encontrar algum problema durante o teste, informe-nos no repositório do GitHub do teste de descontinuação do armazenamento particionado.
DisableThirdPartyStoragePartitioning
As APIs a seguir vão permanecer não particionadas em contextos de terceiros se você
inscrever o site de nível superior no teste de descontinuação
DisableThirdPartyStoragePartitioning
:
APIs de armazenamento
(como localStorage, sessionStorage, IndexedDB, Quota e outras),
APIs de comunicação
(como BroadcastChannel, SharedWorkers e WebLocks) e
API ServiceWorker.
Exemplo:
Para uma explicação mais detalhada, consulte o projeto explicativo.
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
Se você se inscrever no teste de descontinuação
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
, a navegação em uma guia para uma origem registrada fará com que todos
os iframes entre sites dessa mesma origem permaneçam não particionados apenas para
Window.sessionStorage
e apenas durante a vida útil dessa guia específica.
Enquanto o teste de descontinuação DisableThirdPartyStoragePartitioning
afeta todos
os contextos de terceiros incorporados na origem registrada, o teste de
descontinuação DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
registra uma determinada origem para receber acesso não particionado
quando incorporado em contextos de terceiros.
Exemplo:
O que isso significa para os desenvolvedores da Web?
Os sites precisam auditar o uso de APIs de armazenamento, workers de serviço e comunicação não particionadas em contextos de terceiros e, se necessário, se preparar para o particionamento de terceiros antes que esses testes de descontinuação expirem. A intenção é fazer com que esses testes de descontinuação expirem com o lançamento do Chrome 127 em 3 de setembro de 2024.
Para instruir o navegador a desfazer a partição de armazenamento em conteúdo de terceiros incorporado nas páginas, os sites de nível superior precisam se registrar em um ou ambos os testes de descontinuação e adicionar os tokens de teste correspondentes aos cabeçalhos de resposta HTTP (consulte o exemplo detalhado abaixo).
Cada teste de descontinuação está disponível no Windows, Mac, Linux, ChromeOS e Android.
Participar dos testes de descontinuação
Confira a seguir uma breve visão geral de como participar de um ou ambos os testes de descontinuação. Para instruções mais detalhadas, acesse Começar a usar os testes de origem.
- Inicie o Chrome versão 115 (ou mais recente) e verifique se a
flag
ThirdPartyStoragePartitioning
está ativada. - Verifique se o comportamento do conteúdo de terceiros incorporado no site de nível superior é interrompido pelo particionamento de armazenamento. Caso contrário, não é necessário participar dos testes de descontinuação.
- Para se inscrever no teste de descontinuação e receber um token para seus domínios,
acesse:
- Para que um site de nível superior remova a partição de armazenamento, service workers
e APIs de comunicação no conteúdo incorporado de terceiros:
DisableThirdPartyStoragePartitioning
- Para que um site de nível superior não particione o sessionStorage em
navegações:
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
- Para que um site de nível superior remova a partição de armazenamento, service workers
e APIs de comunicação no conteúdo incorporado de terceiros:
- Adicione um token de teste de origem à sua página:
- Para o teste
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
, adicione umOrigin-Trial: <DEPRECATION TRIAL TOKEN>
ao cabeçalho de resposta HTTP do site de nível superior, em que<DEPRECATION TRIAL TOKEN>
contém o token recebido ao se inscrever no teste de descontinuação. Também é possível fazer isso usando o HTML ` . - Para o teste
DisableThirdPartyStoragePartitioning
, o token precisa ser fornecido por uma tag HTML<meta>
injetada por JavaScript. O método de cabeçalho HTTP não é compatível.
- Para o teste
- Carregue seu site no Chrome 115 (ou versão mais recente) com
ThirdPartyStoragePartitioning
ainda ativado e verifique se todos os problemas relacionados à partição foram mitigados corretamente. - Para deixar de participar do teste de descontinuação, basta remover o token que você adicionou na etapa 2.
O teste de descontinuação do DisableThirdPartyStoragePartitioning
oferece suporte ao recurso de
testes de origem de terceiros, mas o script de terceiros que injeta o token precisa ser avaliado no
frame de nível superior antes que o iframe de terceiros que não tem particionamento aplicado
seja carregado. O teste de descontinuação de DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
não oferece suporte a testes de origem de terceiros, porque o participante
precisa ter sido o site de nível superior em algum momento da vida útil da guia. O guia de
solução de problemas com testes de origem do Chrome
oferece uma lista de verificação completa para garantir que seu token esteja configurado corretamente.
Compartilhar feedback
Envie feedback ou problemas encontrados para o repositório do GitHub do teste de descontinuação do armazenamento particionado.