Atualizações da API Federated Credential Management

A API Federated Credential Management é enviada no Chrome 108, mas ela deve continuar evoluindo. Não há alterações interruptivas planejadas.

Para quem são essas atualizações?

Estas atualizações são para você se:

  • Você é um IdP que está usando a API Federated Credential Management.
  • Você é um IdP ou RP e quer estender a API para que se adeque ao seu caso de uso. Por exemplo, você observa ou participa das conversas sobre o repositório FedID CG e quer entender as alterações feitas na API.
  • Você é um fornecedor de navegador e quer saber o status de implementação da API.

Se você é iniciante nessa API ou ainda não testou, leia a introdução à API Federated Credential Management.

Registro de alterações

Para se manter atualizado sobre as mudanças na API FedCM, inscreva-se na nossa newsletter.

Chrome 125 (abril de 2024)

Chrome 123 (fevereiro de 2024)

  • Agora é possível usar a API Domain Hint. A API Domain Hint permite que as RPs especifiquem uma propriedade domainHint em uma chamada da API FedCM para mostrar apenas as contas correspondentes do usuário.

Chrome 122 (janeiro de 2024)

Chrome 121 (dezembro de 2023)

  • A condição flexível para acionar a reautenticação automática do FedCM:
    • O recurso de reautenticação automática na FedCM só é acionado quando o usuário está retornando. Isso significa que o usuário precisa fazer login na RP usando o FedCM uma vez em cada instância do navegador antes que a reautenticação automática possa ser acionada. Essa condição foi introduzida inicialmente para reduzir o risco de rastreadores fingindo ser um provedor de identidade (IdP) e enganar o navegador para que ele reautentica automaticamente um usuário sem o conhecimento ou consentimento dele. No entanto, esse design não pode garantir o benefício de privacidade se o rastreador tiver acesso a cookies de terceiros no contexto da RP. A FedCM oferece apenas um subconjunto dos recursos possíveis com cookies de terceiros. Portanto, se o rastreador já tiver acesso a cookies de terceiros no contexto da RP, o acesso ao FedCM não apresentará outro risco à privacidade.
      Como há usos legítimos de cookies de terceiros, e relaxar a condição melhoraria a UX, esse comportamento está mudando do Chrome 121. Decidimos relaxar a restrição da condição para tratar um usuário como recorrente: se cookies de terceiros estiverem disponíveis para o IdP no contexto da RP, o Chrome confiará na declaração do IdP sobre o status da conta do usuário especificado na lista approved_clients e acionará uma reautenticação automática, se aplicável. Os cookies de terceiros estão disponíveis em: configurações do usuário, políticas corporativas, heurísticas (Safari, Firefox, Chrome) e outras APIs de plataforma da Web (como a API Storage Access). Quando o IdP perder o acesso a cookies de terceiros no futuro, se um usuário nunca tiver concedido permissão explicitamente na interface do FedCM (por exemplo, clicando no botão Continuar como), ele ainda será tratado como um novo usuário.
      Não é necessário realizar nenhuma ação do desenvolvedor. O fluxo de reautenticação automática poderá ser acionado mais com essa alteração se o IdP tiver acesso a cookies de terceiros e declarar que o usuário criou uma conta na RP no passado.

Chrome 120 (novembro de 2023)

  • Foi adicionado suporte a estes três recursos no Chrome 120:
    • API Login Status: a API Login Status é um mecanismo em que um site, especialmente um IdP, informa ao navegador o status de login do usuário. Com essa API, o navegador pode reduzir solicitações desnecessárias para o IdP e atenuar possíveis ataques de tempo. A API Login Status é um requisito da FedCM. Com essa mudança, a sinalização chrome://flags/#fedcm-without-third-party-cookies não será mais necessária para ativar a FedCM quando o cookie de terceiros estiver bloqueado.
    • API Error: a API Error notifica o usuário mostrando uma interface do navegador com as informações de erro fornecidas pelo IdP.
    • API Auto-Selected Flag: a API Auto-Selected Flag compartilha se uma permissão explícita do usuário foi adquirida ao tocar no botão Continuar como com o IdP e a RP, sempre que ocorrer uma nova autenticação ou uma mediação explícita. O compartilhamento só acontece depois que a permissão do usuário é concedida para a comunicação do IdP e da RP.

Chrome 117 (setembro de 2023)

Chrome 116 (agosto de 2023)

  • Foi adicionado suporte a estes três recursos no Chrome 116:
    • API Login Hint: especifique uma conta de usuário preferencial para fazer login.
    • API User Info: busque as informações do usuário recorrente para que o provedor de identidade (IdP) possa renderizar um botão de login personalizado em um iframe.
    • API Context da RP: use um título diferente de "Fazer login" na caixa de diálogo da FedCM.
  • O teste de origem da API IdP Sign-In Status está disponível. Saiba mais em Atualizações do FedCM: API IdP Sign-In Status, Dica de login e muito mais.

Chrome 115 (junho de 2023)

  • Foi adicionado suporte à reautenticação automática, que permite que os usuários se autentiquem de novo automaticamente quando retornarem após a autenticação inicial usando a FedCM. Isso melhora a experiência do usuário e permite uma reautenticação mais simplificada para a RP após o consentimento inicial. Saiba mais sobre a reautenticação automática do FedCM.

Chrome 110 (fevereiro de 2023)

  • No endpoint de declaração de ID, os IdPs precisam verificar o cabeçalho Origin (em vez do cabeçalho Referer) para conferir se o valor corresponde à origem do ID do cliente.
  • A compatibilidade com iframe de origem cruzada para FedCM já está disponível. O incorporador precisa especificar a identity-credentials-get da Permissions-Policy para permitir a API FedCM no iframe de origem cruzada incorporado. Confira um exemplo do iframe de origem cruzada.
  • Foi adicionada uma nova flag do Chrome chrome://flags/#fedcm-without-third-party-cookies. Com essa sinalização, é possível testar a funcionalidade da FedCM no Chrome bloqueando cookies de terceiros. Saiba mais na documentação da FedCM.

Chrome 108 (outubro de 2022)

  • O "manifesto de nível superior" agora é chamado de "arquivo conhecido" no documento. Não é necessário fazer mudanças na implementação.
  • O "manifesto do IdP" agora é chamado de "arquivo de configuração" no documento. Não é necessária nenhuma mudança de implementação.
  • O id_token_endpoint no "arquivo de configuração" é renomeado como id_assertion_endpoint.
  • As solicitações para o IdP agora incluem um cabeçalho Sec-Fetch-Dest: webidentity em vez de um cabeçalho Sec-FedCM-CSRF: ?1.

Chrome 105 (agosto de 2022)

  • Foram adicionadas informações de segurança importantes ao documento. O provedor de identidade (IdP) precisa verificar se o cabeçalho Referer corresponde à origem que a RP registrada com antecedência no endpoint do token de ID.
  • O manifesto de nível superior foi renomeado de /.well-known/fedcm.json para /.well-known/web-identity, e o URL especificado em provider_urls precisa incluir o nome do arquivo.
  • Os métodos login(), logout() e revoke() em instâncias de FederatedCredential não estão mais disponíveis.
  • A API Federated Credential Management agora usa um novo tipo IdentityCredential em vez de FederatedCredential Isso pode ser usado para detecção de recursos, mas é uma alteração praticamente invisível.
  • A funcionalidade de login foi movida de uma combinação de navigator.credentials.get() e FederatedCredential.prototype.login() para navigator.credentials.get().
  • O endpoint de revogação no manifesto não está mais em vigor.
  • Use um campo identity em vez de um campo federated para chamadas navigator.credentials.get().
  • url agora é configURL e precisa ser o URL completo do arquivo JSON do manifesto em vez do caminho para uma chamada de navigator.credentials.get().
  • nonce agora é um parâmetro opcional para navigator.credentials.get().
  • hint não está mais disponível como uma opção para navigator.credentials.get().
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (junho de 2022)

Chrome 103 (maio de 2022)

  • Compatível com ambientes de computador.
  • Compatível com configurações por RP no computador.
  • O endpoint de metadados do cliente agora é opcional. Nesse endpoint, o URL da Política de Privacidade também é opcional.
  • Adicionamos uma ressalva sobre o uso da CSP connect-src no documento.

Recursos