Atualizações do FedCM no Chrome 143

Publicado em: 12 de janeiro de 2026

O Chrome 143 apresenta atualizações na API Federated Credential Management (FedCM) para melhorar a privacidade, a experiência do desenvolvedor e a interoperabilidade do navegador. Essas mudanças são baseadas no feedback de provedores de identidade (IdPs), partes confiáveis (RPs) e da comunidade da Web.

As principais atualizações são:

Suporte a respostas JSON estruturadas do endpoint de declaração de ID

Antes, o endpoint de declaração de ID da FedCM exigia que a propriedade token na resposta fosse uma string. Isso forçava os desenvolvedores a serializar manualmente os dados em uma string JSON no servidor e analisá-los no cliente.

A partir do Chrome 143, o endpoint de declaração de ID aceita um objeto JSON estruturado como valor da propriedade token, por exemplo:

{
  "token": {
    "access_token": "a1b2c3d4e5f6...",
    "user_info": {
      "email": "jane.doe@company.example",
      "given_name": "Jane",
      "family_name": "Doe"
    }
  }
}

Essa mudança elimina a necessidade de serialização e análise manual de JSON e permite que os IdPs retornem mais informações.

Teste esse recurso com a demonstração da FedCM ou consulte o guia Implementar a FedCM no lado do provedor de identidade para informações atualizadas sobre a estrutura da resposta do endpoint de declaração de identidade atualizado.

Validar metadados do cliente

Para proteger melhor a privacidade do usuário, a API FedCM está reforçando a validação dos endpoints do IdP. Essa mudança impede que um IdP corresponda um RP a um ID exclusivo transmitido como um parâmetro de caminho.

Se a configuração da FedCM usar o endpoint client_metadata, inclua accounts_endpoint e login_url no arquivo .well-known/web-identity. A partir do Chrome 145, o navegador vai aplicar o parâmetro accounts_endpoint no arquivo conhecido.

{
  "accounts_endpoint": "/example-accounts",
  "login_url": "/example-login"
}

Para mais detalhes, consulte o guia de implementação da FedCM.

Atualizações de consistência da API e tratamento de erros

O Chrome 143 apresenta duas mudanças para melhorar a clareza e a consistência da API FedCM em todos os navegadores, alinhando-se ao feedback do ecossistema da Web.

Realocar o parâmetro nonce

A partir da versão 145, o Chrome não vai mais oferecer suporte ao parâmetro nonce de nível superior. Você precisa transmitir o parâmetro nonce no objeto params na chamada navigator.credentials.get():

const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      // Don't pass nonce as a top-level parameter here
      configURL: "/fedcm.json",
      clientId: "123",
      params: {
     // Place nonce within the params object    
        nonce: "a-random-nonce"
      }
    }]
  }
});

Verifique se a lógica do lado do servidor espera o nonce no objeto params no endpoint de declaração de ID.

Renomeie IdentityCredentialError.code como IdentityCredentialError.error.

Para evitar conflitos de nomenclatura com a propriedade DOMException.code integrada, IdentityCredentialError.code foi renomeada como IdentityCredentialError.error. Essa mudança será aplicada a partir do Chrome 145.

try {
  // FedCM API call
} catch (e) {
   // Renamed IdentityCredentialError.code to IdentityCredentialError.error:    
   console.log(e.error);
}

Para garantir a compatibilidade com versões anteriores durante o período de transição (Chrome 143 e 144), verifique as propriedades code e error na lógica de tratamento de erros. Isso garante que sua solução funcione em navegadores mais antigos enquanto os usuários atualizam para versões mais recentes do Chrome:

 // In older browsers, the property might still be named 'code'
 // during the transition period
  const errorCode = e.error ?? e.code;
  if (errorCode) {
    // Handle specific error types
  } else {
    console.error("An unknown error occurred", e);
  }

Saiba mais na seção Retornar uma resposta de erro da documentação do FedCM.

Envie feedback

Sua opinião é muito importante para nós enquanto continuamos desenvolvendo e melhorando a FedCM. Se você tiver feedback ou encontrar algum problema:

Saiba mais