Atualizações da API Federated Credential Management

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

Qual é o público dessas atualizações?

Estas atualizações são úteis se:

  • Você é um IdP que usa a API Federated Credential Management.
  • Você é um IdP ou RP e tem interesse em estender a API para que se adapte ao seu uso caso, por exemplo, você vem observando ou participando as discussões no repositório de CG da FedID e quer entender as alterações feitas na API.
  • Você é um fornecedor de navegadores e quer acompanhar a implementação status da API.

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

Registro de alterações

Para ficar por dentro das mudanças na API FedCM, confira nosso blog ou o Newsletter.

Chrome 125 (abril de 2024)

Chrome 123 (fevereiro de 2024)

  • Foi adicionado suporte à API Domain Hint. A dica de domínio API permite que as partes interessadas especificar uma propriedade domainHint em uma chamada da API FedCM para mostrar apenas as contas para o usuário.

Chrome 122 (janeiro de 2024)

Chrome 121 (dezembro de 2023)

  • A condição de relaxamento para acionar a reautenticação automática do FedCM:
    • O recurso de reautenticação automática na O FedCM só é acionado quando o usuário está retornando. Isso significa que o usuário precisa fazer login no RP usando o FedCM uma vez em cada instância do navegador, antes que a reautenticação automática seja acionada. Essa condição foi inicialmente foi lançado para diminuir o risco de rastreadores que fingem ser uma identidade provedor de identidade (IdP) e enganar o navegador para que ele autentique um usuário novamente sem o conhecimento ou o consentimento delas. No entanto, esse design não garante o benefício de privacidade se o rastreador tiver acesso a cookies de terceiros no Contexto da parte restrita. A FedCM oferece apenas um subconjunto dos recursos possíveis por meio da cookies de terceiros. Portanto, se o rastreador já tiver acesso a cookies no contexto da parte restrita, o acesso ao FedCM não exige privacidade risco.
      Como há usos legítimos de cookies de terceiros e relaxando os melhoraria a UX, esse comportamento vai mudar desde o Chrome 121. Decidimos flexibilizar a restrição da condição para tratar um usuário como Retorno: se cookies de terceiros estiverem disponíveis para o IdP na parte restrita contexto, o Chrome confiará na declaração do IdP sobre o status da conta do usuário especificado pela lista de approved_clients e acionar a reautenticação automática se aplicável. Cookies de terceiros podem estar disponíveis nas configurações do usuário, políticas empresariais, heurística (Safari, Firefox, Google Chrome). e outras APIs de plataforma da Web (como Storage Access API). Observação quando o IdP perder o acesso a cookies de terceiros no futuro, se um usuário nunca concedeu permissão explicitamente na interface do FedCM (por exemplo, clicando no botão Continuar como) antes, ainda são tratadas como novo usuário.
      Nenhuma ação é necessária do desenvolvedor. O fluxo de reautenticação automática pode será acionado mais com essa mudança se o IdP tiver acesso a cookies de terceiros e alega que o usuário criou uma conta na parte restrita.

Chrome 120 (novembro de 2023)

  • Foi adicionado suporte aos três recursos a seguir no Chrome 120:
    • API de Status de Login: o Status de login API é uma mecanismo em que um site, especialmente um IdP, informa ao navegador que a interface do usuário status de login. Com essa API, o navegador pode reduzir solicitações desnecessárias para o IdP e mitigar possíveis ataques de temporização. A API Login Status é uma para a FedCM. Com essa mudança, a flag chrome://flags/#fedcm-without-third-party-cookies não é mais necessário para ativar o FedCM quando os cookies de terceiros são bloqueados.
    • API de erro: a imagem de erro API notifica o usuário mostrando uma interface do navegador com as informações de erro fornecidas pelo IdP.
    • API de sinalização selecionada automaticamente: a sinalização selecionada automaticamente. API compartilha se uma permissão explícita do usuário foi adquirida ao tocar no Botão Continuar como com o IdP e a parte restrita sempre que houver reautenticação automática ou uma mediação explícita. O compartilhamento só ocorre depois que o usuário permissão concedida para a comunicação do IdP e da RP.

Chrome 117 (setembro de 2023)

Chrome 116 (agosto de 2023)

  • Foi adicionado suporte aos três recursos a seguir 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 do FedCM.
  • O teste de origem da API Sign-In Status do IdP está disponível. Saiba mais em Atualizações do FedCM: API IdP Sign-In Status, dica de login e mais.

Chrome 115 (junho de 2023)

  • Foi adicionado suporte à reautenticação automática. Com o FedCM, os usuários podem fazer isso automaticamente quando voltam após a autenticação inicial. Isso melhora a experiência do usuário e permite uma reautenticação mais simplificada à parte restrita após a autenticação 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 Referer) para ver se o valor corresponde à origem do ID do cliente.
  • Agora o FedCM é compatível com iframe de origem cruzada. A incorporador deve especificar Permissions-Policy identity-credentials-get para permitir a API FedCM na origem cruzada incorporada. iframe. Confira um exemplo de o iframe de origem cruzada.
  • Uma nova sinalização do Chrome chrome://flags/#fedcm-without-third-party-cookies foi adicionada. Com essa sinalização, você pode testar a funcionalidade do FedCM no Chrome. bloqueando cookies de terceiros. Saiba mais na documentação do FedCM.

Chrome 108 (outubro de 2022)

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

Chrome 105 (agosto de 2022)

  • Informações de segurança importantes foram adicionadas ao documento. A identidade provedor (IdP) precisa verificar se o cabeçalho Referer corresponde à origem a parte restrita registrada com antecedência o 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 devem incluem o nome do arquivo.
  • Métodos login(), logout() e revoke() em 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 bastante invisível.
  • Mover a funcionalidade de login 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 federated para chamadas de navigator.credentials.get().
  • url agora é configURL e deve ser o URL completo para o arquivo JSON de manifesto em vez do caminho para uma chamada navigator.credentials.get().
  • nonce agora é um parâmetro opcional para navigator.credentials.get().
  • hint não está mais disponível como 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 desktop.
  • Compatível com configurações por RP no computador.
  • A endpoint de metadados do cliente agora é opcional. Neste endpoint, o URL da Política de Privacidade também é opcional.
  • Adicionou uma ressalva sobre o uso da CSP connect-src no documento.

Recursos