A API Federated Credential Management é enviada no Chrome 108, mas deve continuar evoluindo. Não há mudanças importantes planejadas.
Para quem são essas atualizações?
Estas atualizações são para você se:
- Você é um IdP que usa a API Federated Credential Management.
- Você é um IdP ou RP e tem interesse em estender a API para se adequar ao seu caso de uso. Por exemplo, você tem observado ou participado de discussões no repositório FedID CG e quer entender as mudanças feitas na API.
- Você é um fornecedor de navegador e quer saber o status da implementação da API.
Se você não conhece essa 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 a newsletter.
Chrome 131 (outubro de 2024)
- A API Storage Access agora
usa o FedCM como um sinal de confiança.
- Se um usuário fizer a autenticação com o FedCM, com a ativação do RP, a incorporação do IdP poderá
chamar o método
requestStorageAccess()
para receber acesso de armazenamento automaticamente aos próprios cookies de nível superior sem precisar de uma solicitação adicional do usuário.
- Se um usuário fizer a autenticação com o FedCM, com a ativação do RP, a incorporação do IdP poderá
chamar o método
Chrome 125 (abril de 2024)
- Como a especificação atualizou o nome de "endpoints de lista de contas" para "endpoint de contas", nossa documentação está alinhada de acordo com isso.
- O teste de origem da API Button Mode está disponível no Chrome para computador 125. Saiba mais em Atualizações do FedCM: teste de origem da API do modo de botão, CORS e SameSite.
- O CORS é aplicado no endpoint de declaração de ID a partir do Chrome 125.
- O Chrome vai enviar apenas cookies marcados explicitamente como
SameSite=None
para o endpoint de declaração de ID e o endpoint de contas a partir do Chrome 125.
Chrome 123 (fevereiro de 2024)
- Foi adicionado suporte à API Domain Hint. A API Domain Hint permite que os RPs
especifiquem uma propriedade
domainHint
em uma chamada da API FedCM para mostrar apenas contas correspondentes do usuário.
Chrome 122 (janeiro de 2024)
- Foi adicionado suporte à API Disconnect. A API Disconnect permite que os RPs desconectem os usuários da conta do provedor de identidade sem depender de cookies de terceiros.
- A verificação
/.well-known/web-identity
agora é ignorada quando o RP e o IdP estão no mesmo site. - Os recursos secundários agora podem definir um status de login no mesmo site.
Chrome 121 (dezembro de 2023)
- A condição simplificada para acionar a reautorização automática do FedCM:
- O recurso de reautorização automática no
FedCM só é acionado quando o usuário retorna. 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 reautorização automática possa ser acionada. Essa condição foi inicialmente
introduzida para reduzir o risco de rastreadores fingindo ser um provedor
de identidade (IDP) e enganar o navegador para que ele faça a reautorização automática de 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 de RP. O FedCM fornece apenas um subconjunto dos recursos possíveis com
cookies de terceiros. Portanto, se o rastreador já tiver acesso a cookies
de terceiros no contexto do RP, o acesso ao FedCM não apresentará nenhum risco de privacidade
adicional.
Como há usos legítimos de cookies de terceiros e a flexibilização da condição melhoraria a UX, esse comportamento está mudando a partir 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 do RP, o Chrome vai confiar na declaração do IdP sobre o status da conta do usuário especificada na listaapproved_clients
e acionar a autenticação automática se aplicável. Os cookies de terceiros podem estar 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). Observe que, 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 são necessárias ações do desenvolvedor. O fluxo de reautorização automática pode ser acionado com mais frequência com essa mudança se o IdP tiver acesso a cookies de terceiros e afirmar que o usuário criou uma conta no RP no passado.
- O recurso de reautorização automática no
FedCM só é acionado quando o usuário retorna. 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 reautorização automática possa ser acionada. Essa condição foi inicialmente
introduzida para reduzir o risco de rastreadores fingindo ser um provedor
de identidade (IDP) e enganar o navegador para que ele faça a reautorização automática de 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 de RP. O FedCM fornece apenas um subconjunto dos recursos possíveis com
cookies de terceiros. Portanto, se o rastreador já tiver acesso a cookies
de terceiros no contexto do RP, o acesso ao FedCM não apresentará nenhum risco de privacidade
adicional.
Chrome 120 (novembro de 2023)
- Adição de suporte aos três recursos a seguir no Chrome 120:
- API de status de login: a API de status de login é 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 ao
IdP e mitigar possíveis ataques de sincronização. A API Login Status é um
requisito para o FedCM.
Com essa mudança, a flag
chrome://flags/#fedcm-without-third-party-cookies
não é mais necessária para ativar o FedCM quando o cookie de terceiros é 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 tocando no botão Continue as com o IdP e o RP, sempre que a reautorização automática ocorreu ou uma mediação explícita ocorreu. O compartilhamento só acontece depois que a permissão do usuário é concedida para a comunicação entre o IdP e o RP.
- API de status de login: a API de status de login é 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 ao
IdP e mitigar possíveis ataques de sincronização. A API Login Status é um
requisito para o FedCM.
Com essa mudança, a flag
Chrome 117 (setembro de 2023)
- O teste de origem da API Idp Sign-In Status está disponível no Android a partir do Chrome 117. Saiba mais em Atualizações do FedCM: API de status de login do IdP, sugestão de login e muito mais.
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: extrai 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 Contexto RP: use um título diferente de "Fazer login" na caixa de diálogo FedCM.
- O teste de origem da API IdP Sign-In Status está disponível. Saiba mais em Atualizações do FedCM: API de status de login do IdP, sugestão de login e muito mais.
Chrome 115 (junho de 2023)
- Foi adicionado suporte à reautorização automática, que permite que os usuários se reauthenticem automaticamente quando retornarem após a autenticação inicial usando o FedCM. Isso melhora a experiência do usuário e permite uma reautorização mais simplificada para o RP após a autenticação inicial. Saiba mais sobre a reautenticação automática do FedCM.
Chrome 110 (fevereiro de 2023)
- Para o endpoint de declaração de ID, os IdPs precisam verificar o cabeçalho
Origin
(em vez do cabeçalhoReferer
) para saber se o valor corresponde à origem do ID do cliente. - O suporte a iframes de origem cruzada para FedCM já está disponível. O
incorporador precisa especificar o
Permissions-Policy
identity-credentials-get
para permitir a API FedCM no iframe incorporado de origem cruzada. Confira um exemplo do iframe entre origens. - Adicionamos uma nova flag do Chrome
chrome://flags/#fedcm-without-third-party-cookies
. Com essa flag, você pode testar a funcionalidade do FedCM no Chrome bloqueando cookies de terceiros. Saiba mais na documentação da 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.
- O "manifesto do IdP" agora é chamado de "arquivo de configuração" no documento. Nenhuma mudança de implementação é necessária.
- O
id_token_endpoint
no "arquivo de configuração" foi renomeado comoid_assertion_endpoint
. - As solicitações para o IdP agora incluem um cabeçalho
Sec-Fetch-Dest: webidentity
em vez de um cabeçalhoSec-FedCM-CSRF: ?1
.
Chrome 105 (agosto de 2022)
- Adicionamos informações de segurança importantes ao documento. O provedor de identidade (IdP) precisa verificar se o cabeçalho
Referer
corresponde à origem que o RP registrou com antecedência no endpoint do token de ID. - O manifesto de nível superior é renomeado de
/.well-known/fedcm.json
para/.well-known/web-identity
, e o URL especificado emprovider_urls
precisa incluir o nome do arquivo. - Os métodos
login()
,logout()
erevoke()
nas instânciasFederatedCredential
não estão mais disponíveis. - A API Federated Credential Management agora usa um novo tipo
IdentityCredential
em vez deFederatedCredential
. Isso pode ser usado para detecção de recursos, mas é uma mudança praticamente invisível. - Mova a funcionalidade de login de uma combinação de
navigator.credentials.get()
eFederatedCredential.prototype.login()
paranavigator.credentials.get()
. - O endpoint de revogação no manifesto não está mais em vigor.
- Use um campo
identity
em vez de um campofederated
para chamadasnavigator.credentials.get()
. url
agora éconfigURL
e precisa ser o URL completo do arquivo JSON do manifesto, em vez do caminho de uma chamadanavigator.credentials.get()
.nonce
agora é um parâmetro opcional paranavigator.credentials.get()
.hint
não está mais disponível como uma opção paranavigator.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)
- O parâmetro
consent_acquired
enviado para o endpoint do token de ID agora édisclosure_text_shown
. O valor não muda. - Os ícones de marca no manifesto do provedor de identidade não oferecem mais suporte a imagens SVG, mas não precisam mais ser permitidos pela política de segurança de conteúdo do provedor de registro.
Chrome 103 (maio de 2022)
- Oferece suporte a ambientes de área de trabalho.
- Suporte a 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 de
connect-src
do CSP no documento.