Apresentação de algumas atualizações na FedCM, incluindo um novo teste de origem para reautenticação automática.
A API Federated Credential Management (FedCM) é uma API da Web para a federação de identidade que preserva a privacidade. Com a federação de identidade, uma parte confiável (RP) depende de um IdP (provedor de identidade) para fornecer ao usuário uma conta sem exigir um novo nome de usuário e senha.
A FedCM é uma API personalizada que permite ao navegador entender o contexto em que a RP e o IdP trocam informações, informam o usuário sobre as informações e os níveis de privilégios que estão sendo compartilhados e evita abusos não intencionais.
Atualizações
Há algumas atualizações na implementação da FedCM no Chrome:
- Para o endpoint de declaração
do 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. - Uma nova sinalização do Chrome
chrome://flags/#fedcm-without-third-party-cookies
foi adicionada. Com essa sinalização, é possível testar a funcionalidade do FedCM no Chrome bloqueando cookies de terceiros.
Para todas as atualizações anteriores da API, confira as atualizações da API Federated Credential Management.
A versão mais recente do FedCM inclui um novo recurso de reautenticação automática, que permite a reautenticação de usuários automaticamente quando eles voltam após a autenticação inicial usando o FedCM. A reautenticação automática está disponível como um teste de origem a partir do Chrome 112.
Reautenticação automática
Atualmente, depois que um usuário criou uma conta federada em uma RP com um IdP por meio da FedCM, na próxima vez que ele visitar o site, precisará seguir as mesmas etapas na interface do usuário. Ou seja, eles precisam confirmar explicitamente e se autenticar novamente para prosseguir com o fluxo de login. Como uma das principais metas da FedCM é impedir o rastreamento oculto, essa experiência do usuário (UX) faz sentido antes de o usuário criar a conta federada, mas se torna desnecessária e complicada depois que o usuário passa por ela. Depois que o usuário concede permissão para permitir a comunicação entre a RP e o IdP, não há benefício de privacidade ou segurança para impor outra confirmação explícita do usuário para algo que ele já confirmou anteriormente. É por isso que o Chrome está introduzindo uma UX mais simplificada que as partes restritas podem escolher para os usuários recorrentes.
A reautenticação automática da FedCM (abreviação de "reautenticação automática") reautentica os usuários automaticamente (quando a RP aceita) quando eles voltam após a autenticação inicial usando a FedCM. Nesse caso, "a autenticação inicial" significa que o usuário cria uma conta ou faz login no site da parte restrita tocando no botão Continuar como... na caixa de diálogo de login da FedCM pela primeira vez na mesma instância do navegador.
A RP pode solicitar uma reautenticação automática chamando navigator.credentials.get()
com autoReauthn: true
.
const cred = await navigator.credentials.get({
identity: {
providers: [{
configURL: "https://idp.example/fedcm.json",
clientId: "1234",
}],
// NOTE: We are exploring different API options to expose this
// functionality here:
// https://github.com/fedidcg/FedCM/issues/429#issuecomment-1426358523
// You should expect that, as a result of the origin trial, we'll
// learn more from developers and browser vendors what works best here.
autoReauthn: true, // default to false
},
});
Nessa chamada, a reautenticação automática acontece nas seguintes condições:
- O FedCM está disponível para uso. Por exemplo, o usuário não desativou o FedCM, globalmente ou para a RP.
- O usuário utilizou apenas uma conta da FedCM para fazer login no site neste navegador.
- O usuário fez login no IdP com essa conta.
- A reautenticação automática não aconteceu nos últimos 10 minutos.
Quando as condições acima são atendidas, uma tentativa de reautenticar automaticamente o
usuário é iniciada assim que o navigator.credentials.get()
do FedCM é invocado.
Testar
Para testar a reautenticação automática do FedCM localmente, ative uma flag
do Chrome chrome://flags#fedcm-auto-re-authn
no
Chrome 112 ou mais recente.
Para fins de teste, é possível redefinir o período de silêncio de 10 minutos removendo os dados do navegador.
- Navegue para
chrome://history
. - Na caixa do histórico de pesquisa, insira a origem da parte restrita.
- Clique no ícone de três pontos ⋮ e selecione Remover do histórico.
- Reinicie o Chrome.
Participar do teste de origem
Você também pode ativar o recurso no seu site participando do teste de origem de terceiros, disponível do Chrome 112 ao 114.
Os testes de origem permitem testar novos recursos e fornecer feedback sobre a usabilidade, praticidade e eficácia deles para a comunidade de padrões da Web. Para mais informações, consulte o Guia de testes de origem para desenvolvedores da Web. Para se inscrever nesse ou em outro teste de origem, acesse a página de registro.
Para se registrar no teste de origem de terceiros e ativar o recurso em terceiros, faça o seguinte:
- Acesse a página de registro de testes de origem.
- Clique no botão Register e preencha o formulário para solicitar um token
- Insira a origem de veiculação como Origem da Web.
- Marque Correspondência de terceiros para injetar o token com JavaScript em outras origens.
- Clique em Enviar.
- incorporar o token emitido a um terceiro;
Para incorporar o token a um terceiro, adicione o código a seguir à biblioteca JavaScript ou ao SDK disponibilizado na origem do site registrado.
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = 'TOKEN_GOES_HERE';
document.head.appendChild(tokenElement);
Substitua TOKEN_GOES_HERE
pelo seu próprio token.
Interaja e compartilhe feedback
Se você tiver feedback ou encontrar algum problema durante o teste, compartilhe essas informações em crbug.com no componente Blink>Identity>FedCM.