Configurar o XFA como provedor de identidade de um provedor de serviços SAML Beta
Aqui o XFA é o provedor de identidade: o provedor de serviços passa o início de sessão ao XFA, que inicia a sessão dos utilizadores com uma passkey e verifica o respetivo dispositivo. Para o Google Workspace, siga antes o guia do Google Workspace.
_Nota: este guia pressupõe que a sua organização tem uma conta XFA, que é administrador dessa organização no XFA e que pode configurar o single sign-on no provedor de serviços. Se ainda não tem uma conta XFA, pode criar uma em
https://dashboard.xfa.tech/signup._
Criar uma ligação SAML no painel XFA
Depois de iniciar sessão no painel XFA, abra Fornecedor de identidade na barra lateral, clique em Adicionar ligação e escolha App SAML. O XFA cria a ligação e abre a configuração guiada: Informações básicas e, depois, quatro passos que percorre entre o XFA e o provedor de serviços, por qualquer ordem.
Em Informações básicas, defina:
- um Nome para a ligação e a política cujas verificações de dispositivo se aplicam durante o início de sessão;
- Domínios de e-mail permitidos: o domínio ou domínios das pessoas que vão iniciar
sessão (por exemplo
example.com). O XFA só inicia a sessão de pessoas com um endereço de e-mail destes domínios ou dos domínios de e-mail da sua organização (em Definições). Sem domínios aqui nem nos domínios de e-mail da sua organização, ninguém consegue iniciar sessão.
O passo 1, Adicionar a XFA como fornecedor de identidade, mostra os valores de que o provedor de serviços precisa para confiar no XFA: o URL de metadados do IdP, o Entity ID, o URL de SSO e um Certificado que pode transferir. Introduza-os nas definições de single sign-on do provedor de serviços; a maioria dos provedores de serviços consegue importar o URL de metadados do IdP de uma só vez.
Cada pessoa inicia sessão com uma passkey num dispositivo registado no XFA. Prepare-as antes de ativar o single sign-on, como descrito em Preparar os utilizadores para o primeiro dispositivo.
Introduzir os dados do provedor de serviços
No passo 2, Colar os dados do fornecedor de serviços, o XFA precisa de saber que provedor de serviços envia os pedidos de início de sessão e para onde enviar a resposta SAML assinada:
- ID de entidade do provedor de serviços: o ID de entidade do provedor de serviços (por vezes chamado Issuer ou Audience).
- URL do Assertion Consumer Service (ACS): para onde o XFA envia a resposta SAML.
- Certificado de assinatura do provedor de serviços: apenas se o provedor de serviços assinar os seus pedidos (consulte Pedidos assinados). Caso contrário, deixe-o vazio.
O XFA assina sempre as suas asserções SAML, por isso uma definição do provedor de serviços como "sign the response and assertion" não precisa de equivalente no XFA. O XFA envia o endereço de e-mail como NameID.
Importar a partir do URL de metadados
Se o provedor de serviços publicar os seus metadados SAML num URL, não tem de copiar os valores um a um:
- No passo 2, cole o URL de metadados do provedor de serviços (começa por
https://) em Importar a partir do URL de metadados e clique em Importar. - O XFA obtém os metadados e preenche ID de entidade do provedor de serviços e URL do Assertion Consumer Service (ACS). Se os metadados indicarem que o provedor de serviços assina os seus pedidos de início de sessão, o XFA também preenche Certificado de assinatura do provedor de serviços.
- Verifique os valores e clique em Concluir a configuração (ou Salvar e continuar depois).
Se a importação falhar, abra o URL de metadados num navegador: deve devolver o XML de metadados SAML do provedor de serviços. Pode sempre colar os valores manualmente.
No passo 3, ative o single sign-on no provedor de serviços para os utilizadores ou grupos que o XFA deve verificar; comece com um grupo pequeno. O passo 4 é um início de sessão de teste opcional.
Pedidos assinados
Alguns provedores de serviços assinam cada pedido de início de sessão que enviam ao XFA; a maioria não. Com um Certificado de assinatura do provedor de serviços guardado, o XFA só aceita pedidos assinados com esse certificado, e Exigir pedidos assinados está ativado em Configurações na página da ligação. Sem certificado, o XFA aceita pedidos não assinados, e o utilizador continua a provar a sua identidade com a sua passkey.
Os provedores de serviços que assinam os seus pedidos renovam o certificado de assinatura
de tempos a tempos e publicam o novo nos seus metadados. O XFA ainda não volta a obter
os metadados por si só. Após uma renovação, o início de sessão falha com o motivo
invalid_signature até abrir Alterar conexão, clicar novamente em Importar no
passo 2 (ou colar o novo certificado) e guardar a ligação.
Resolução de problemas
Quando o XFA rejeita um pedido de início de sessão do provedor de serviços, a página de
erro mostra uma linha Reason: seguida de um código. A mesma lista, com um botão que o
leva ao campo a corrigir, está em Se a página de erro mostrar um destes motivos no
passo 4 da configuração.
| Motivo | O que fazer |
|---|---|
missing_sp_entity_id | Preencha ID de entidade do provedor de serviços no passo 2, ou importe os metadados. |
issuer_mismatch | O pedido vem de outro ID de entidade. Copie exatamente o ID de entidade do provedor de serviços para ID de entidade do provedor de serviços no passo 2. |
missing_signature | O provedor de serviços enviou um pedido não assinado. Ative a assinatura de pedidos no provedor de serviços, ou desative Exigir pedidos assinados em Configurações. |
invalid_signature | A assinatura não corresponde ao certificado, normalmente após uma renovação. Importe novamente os metadados no passo 2 e guarde. |
unsupported_sigalg | O XFA aceita assinaturas RSA-SHA256 e RSA-SHA1. Configure o provedor de serviços para assinar com RSA-SHA256. |
invalid_sp_certificate | O XFA não consegue ler o certificado guardado. Cole o certificado completo, incluindo as linhas BEGIN e END, ou importe os metadados. |
malformed_request | O pedido não indica nenhum issuer. Verifique se o provedor de serviços envia o seu entity ID como Issuer nos pedidos SAML, e contacte o suporte XFA se persistir. |