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 acompanhar as mudanças na API FedCM, confira nosso blog ou a newsletter.
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.
- O teste de origem da API Button Mode está disponível no Chrome para computadores 125. Saiba mais em Atualizações do FedCM: teste de origem da API Button Mode, CORS e SameSite.
- O CORS é aplicado no endpoint de declaração de ID no Chrome 125.
- 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.
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)
- Foi adicionado suporte à API Desconectar. A API Desconectar permite que as partes interessadas desconectem os usuários da conta do IdP sem depender de cookies de terceiros.
- A verificação de
/.well-known/web-identity
agora é ignorada quando a RP e o IdP estão no mesmo local. - Os sub-recursos agora podem definir um status de login no mesmo site.
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 enganando o navegador para que ele reautentica automaticamente um usuário sem o conhecimento ou contrato 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 listaapproved_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.
- 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 enganando o navegador para que ele reautentica automaticamente um usuário sem o conhecimento ou contrato 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.
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.
- 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 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 IdP Sign-In Status, Dica de login e muito mais.
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 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 cabeçalhoReferer
) 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 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)
- 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 emprovider_urls
precisa incluir o nome do arquivo. - Os métodos
login()
,logout()
erevoke()
em instâncias deFederatedCredential
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 alteração praticamente invisível. - A funcionalidade de login foi movida 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 para uma chamada denavigator.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 foi alterado. - os ícones de marca no manifesto do IdP pararam de oferecer suporte a imagens SVG, mas não precisam mais ser permitidos pela Política de Segurança de Conteúdo da RP.
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.