O Chrome propôs uma nova experiência que permite que os usuários escolham como os cookies de terceiros são processados durante a navegação. Sites e serviços podem precisar detectar se os cookies de terceiros estão disponíveis em um determinado contexto. O Chrome tem dois métodos principais para detectar o acesso a cookies de terceiros para conteúdo incorporado: usar o método JavaScript hasStorageAccess e observar os cabeçalhos Sec-Fetch-Storage-Access.
O Sandbox de privacidade introduziu APIs que podem conceder a frames específicos acesso a cookies de terceiros se determinadas condições forem atendidas. Portanto, é importante detectar o acesso a cookies não particionados por incorporação.
Detectar o acesso a cookies de terceiros em iframes
Quando o conteúdo de um iframe é hospedado em um site diferente daquele exibido na barra de endereço do usuário, ele é considerado cross-site e pode ter cookies de terceiros restritos. O iframe pode detectar se tem acesso a cookies de terceiros chamando await document.hasStorageAccess()
. Esse método retorna true
ou false
, dependendo se o frame tem ou não acesso a cookies não particionados.
Se o iframe usar a API Storage Access (SAA) para acessar cookies não particionados entre sites (usando a SAA sozinha ou com conjuntos de sites relacionados), você poderá verificar a permissão storage-access
para determinar se o frame pode ou não acessar cookies não particionados.
Detectar o acesso a cookies de terceiros em solicitações HTTP
No Chrome 133 e versões mais recentes, o cabeçalho Sec-Fetch-Storage-Access
é enviado com solicitações com credenciais para informar ao servidor se o contexto de chamada tem acesso a cookies não particionados. Esse cabeçalho contém um destes três valores:
none
: a incorporação não tem acesso a cookies não particionadosinactive
: a incorporação tem permissão para acessar cookies não particionados, mas não a ativouactive
: a incorporação tem acesso a cookies não particionados
Condições que concedem acesso a cookies não particionados
O acesso a cookies de terceiros não particionados pode ser concedido de várias maneiras para oferecer suporte a casos em que esses cookies oferecem a funcionalidade necessária. Os métodos a seguir resultam no acesso a cookies não particionados. Em vários casos, requestStorageAccess()
ou requestStorageAccessFor()
precisam ser chamados antes que o acesso seja concedido.
Método | Exemplo | É necessário chamar requestStorageAccess? |
---|---|---|
Prompt da API Storage Access | O usuário é solicitado a permitir o acesso ao armazenamento e seleciona "Permitir". | Sim |
Gerenciamento de credenciais federadas | O usuário faz login com um provedor de identidade federado (IdP). O frame do IdP solicita acesso ao armazenamento. | Sim |
Conjuntos de sites relacionados | A incorporação e o incorporador pertencem ao mesmo RWS. | Sim |
3PCs ativados nas configurações do usuário | O usuário escolhe permitir 3PCs para toda a navegação ou apenas para uma origem específica. | Não |
Exceções baseadas em heurísticas | O Chrome detecta um padrão heurístico e concede acesso automático a cookies não particionados. Não é necessário chamar requestStorageAccess() . |
Não |
Exceções temporárias (por exemplo, período de carência) | O site ou serviço se inscreveu em uma exceção temporária do Chrome durante a transição para uma solução mais durável. | Não |
Políticas empresariais | O administrador do Chrome Enterprise de uma empresa escolheu permitir 3PCs em parte ou em todo o tráfego. | Não |