A partir do Chrome 128, a API Multi-IdP vai iniciar um teste de origem no computador, e a API Button Mode e o pacote de continuação vão iniciar um teste de origem no Android. Com o recurso de vários IdPs, os desenvolvedores
podem especificar uma matriz de vários provedores de identidade compatíveis em uma única
chamada get(). A API Button Mode adiciona uma nova interface. Com a API Button Mode, os provedores de identidade podem usar a API FedCM mesmo que os usuários não tenham sessões ativas do IdP na chamada da API. O pacote Continuation consiste na API Continuation e na API Parameters, que permitem uma experiência semelhante a um fluxo de autorização do OAuth envolvendo uma caixa de diálogo de permissão fornecida por um IdP. O pacote também inclui outras mudanças, como a API Fields, vários configURL e rótulos personalizados da conta.
Teste de origem: API Multi IdP
Com ele, os usuários podem escolher uma conta em um conjunto de IdPs compatíveis, e os RPs se beneficiam de taxas de login e inscrição mais altas. Se o usuário estiver conectado com vários IdPs, ele precisará fazer login no RP usando um deles.
Os IdPs são priorizados com base nas contas atuais do usuário e nos carimbos de data/hora associados.
- Se o usuário já tiver feito login no RP com um IdP específico (ou seja, tiver uma "conta recorrente"), esses IdPs serão listados primeiro.
- Dentro das contas recorrentes, os IdPs são classificados pelo carimbo de data/hora do uso mais recente, com o IdP usado mais recentemente aparecendo na parte de cima da lista. Em alguns casos, o Chrome pode não ter dados de carimbo de data/hora para uma conta recorrente. Isso provavelmente aconteceu porque o usuário fez login antes da implementação dos registros de carimbo de data/hora no FedCM. Elas estão listadas abaixo das que têm carimbos de data/hora.
- Se o usuário não tiver contas recorrentes com nenhum IdP, a ordem fornecida pelo RP será respeitada.
A FedCM permite a autenticação automática se o desenvolvedor solicitar e se houver uma única conta recorrente. No caso do Multi IdP, se houver contas recorrentes em vários IdPs, o usuário não será autenticado novamente de forma automática. Ter uma conta recorrente é um requisito importante para a reautenticação automática. O navegador só vai iniciar a autenticação automática novamente quando tiver reconhecido explicitamente a conta. Isso implica que o usuário precisa ter usado a FedCM com essa conta específica no RP.
Se o status de login do usuário estiver definido como desconectado para um IdP, chamar o FedCM não vai buscar contas para esse IdP. Da mesma forma, se o status do usuário for desconectado para todos os IdPs disponíveis, o prompt de login da FedCM não será mostrado automaticamente no modo de widget.
Se o status de login salvo no navegador para um IdP for "conectado", mas nenhuma conta desse IdP for retornada pela solicitação de busca (por exemplo, se a sessão do usuário expirou, mas o status de login ainda não foi atualizado pelo navegador), a interface de incompatibilidade será mostrada para o IdP, sugerindo que o usuário faça login com o IdP incompatível.
Para mais informações sobre o status de login, consulte a documentação. Consulte o guia para desenvolvedores e saiba mais detalhes de implementação.
Teste de origem: API Multi IdP
Você pode testar a API Multi IdP como usuário no RP de demonstração ou como desenvolvedor usando o Chrome 128 ou mais recente.
Testar como usuário
Teste por conta própria como um usuário. Verifique se:
- O Chrome não está configurado para bloquear solicitações de login de terceiros na página:
chrome://settings/content/federatedIdentityApi. - Você fez login em vários IdPs de demonstração. Siga as instruções na página de demonstração.
Para testar o Multi-IdP em sites cuja origem não está registrada no
teste de origem, ative a flag de recurso em
chrome://flags/#fedcm-multi-idp.
Testar como desenvolvedor
Se um provedor de login tiver um SDK JavaScript incorporado ao RP (recomendado), a chamada
navigator.credentials.get() para ativar vários IdPs poderá ser implementada pelo
provedor, e os desenvolvedores do RP não precisarão mudar o código. Caso contrário, o RP precisa chamar a API FedCM por conta própria.
Para testar vários IdPs em um RP, especifique a matriz de provedores compatíveis da seguinte forma:
try {
const cred = await navigator.credentials.get({
identity: {
providers: [
{
configUrl: "https://idp1.example/foo.json", // first IdP
clientId: "123",
},
{
configUrl: "https://idp2.example/bar.json", // second IdP
clientId: "456",
}
]
}
});
const token = cred.token;
const currentConfigFileUrl = cred.configURL;
if (cred.configURL === 'https://idp1.example/foo.json') {
// handle the token for idp1.example
} else if (cred.configURL === 'https://idp2.example/bar.json') {
// handle the token for idp2.example
}
} catch (error) {
console.error("Error during credential retrieval:", error);
}
O atributo configURL no objeto resultante armazena o URL do arquivo de configuração do IdP com que o usuário se autenticou. O RP pode
determinar como processar o token resultante, já que ele varia de acordo com o
IdP.
Participar do teste de origem
Com os testes de origem, você pode testar novos recursos e enviar feedback sobre a usabilidade, a praticidade e a eficácia deles. Para mais informações, consulte Começar a usar os testes de origem.
Para testar o recurso de vários IdPs, registre-se nos testes de origem a partir do Chrome 128.
Para testar o Multi IdP, um RP pode registrar a origem e executar um teste de origem própria. Também é possível que o IdP se registre para um teste de origem de terceiros e tenha o recurso de vários IdPs disponível para todos os RPs usando SDKs JavaScript.
Etapas para participar do teste de origem:
- Acesse a página de registro do teste de origem da API Multi IdP. 2. Clique no botão Registrar e preencha o formulário para solicitar um token.
- Para se inscrever em um teste de origem de terceiros, insira a origem do RP no campo "Origem da Web". Para um teste de origem de terceiros, insira a origem do SDK JavaScript do IdP e marque a caixa "Correspondência de terceiros".
- Clique em Enviar.
- Forneça o token emitido na página do RP:
- Para participantes do teste de origem de terceiros:
- Como uma metatag no
<head>:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">- Como um cabeçalho HTTP:Origin-Trial: TOKEN_GOES_HERE - Para participantes do teste de origem de terceiros: - Fornecendo um token de maneira programática.
- Para participantes do teste de origem de terceiros:
- Como uma metatag no
API Button Mode para Chrome no Android
A partir da versão 128 do Chrome, o teste de origem da API Button Mode vai começar no Chrome para Android, seguindo o teste inicial para computadores. Com a API Button Mode, os provedores de identidade podem usar a API FedCM mesmo que os usuários tenham feito logout do IdP na chamada de API. O fluxo de login é iniciado por um gesto do usuário, o que reflete melhor a intenção dele.
No Chrome 128, um novo recurso permite que os IdPs incluam o ícone do logotipo oficial do RP diretamente na resposta do endpoint de metadados do cliente. Isso melhora a interface em dispositivos móveis no modo de botão.
Assim como a marca do IdP no arquivo de configuração, os ícones do RP podem ser configurados
no lado do IdP e retornados na resposta client_metadata_endpoint da seguinte forma:
"privacy_policy_url": "https://rp.example/privacy_policy.html",
"terms_of_service_url": "https://rp.example/terms_of_service.html",
"icons": [{
"url": "https://idp.example/rp-icon.ico",
"size": 40
}]
Para saber mais sobre o suporte a ícones, consulte a documentação para desenvolvedores.
Se o usuário ainda não tiver feito login, a FedCM vai pedir que ele faça login no IdP
usando o login_url fornecido pelo IdP em uma guia personalizada do Chrome (CCT).
Se o usuário estiver se autenticando novamente com uma conta recorrente, a interface de divulgação não será mostrada.
Para se inscrever no teste de origem, consulte as instruções da API Button Mode para computador. Se você já se inscreveu no teste de origem no computador, o recurso vai estar disponível automaticamente no Chrome no Android a partir da versão 128.
Pacote da API Continuation para o Chrome no Android.
A partir da versão 128 do Chrome, o pacote da API Continuation vai estar disponível para o Chrome no Android como parte de um teste de origem, seguindo o teste inicial no computador. O pacote consiste em vários recursos do FedCM, incluindo a API Continuation, a API Parameters, a API Fields, vários configURLs e rótulos de contas personalizados.
A API Continuation permite fluxos de login de várias etapas. A API Parameters permite
transmitir parâmetros adicionais ao IdP. A API Fields permite que o RP solicite atributos específicos da conta para a interface de divulgação na caixa de diálogo do FedCM. Além disso, o
Multiple configURL oferece suporte a vários arquivos de configuração para um IdP, e os rótulos de
conta personalizados permitem que os IdPs anotem contas para que os RPs possam filtrá-las por
esses rótulos.
Para saber mais sobre o pacote da API Continuation, consulte a postagem do blog sobre o pacote da API Continuation no computador. Para se inscrever no teste de origem, siga estas instruções. Se você já se inscreveu no teste de origem no computador, os recursos vão estar disponíveis automaticamente no Chrome no Android a partir da versão 128.
Interagir e compartilhar feedback
Se você tiver feedback ou encontrar algum problema, registre uma questão. Vamos manter atualizado o guia canônico para desenvolvedores da FedCM, além da página acumulada de registros de atualizações.