Registo de aplicação SAML 2.0
O registo de aplicação SAML 2.0 do FoxIDs permite-lhe ligar uma aplicação baseada em SAML 2.0.
SAML 2.0 é um standard de autenticação e autorização baseado em XML que permite single sign-on (SSO) seguro entre um identity provider (IdP) e um service provider (SP). O FoxIDs suporta tanto SP-initiated login como IdP-initiated login.
A sua aplicação torna-se uma SAML 2.0 Relying Party (RP) e o FoxIDs atua como SAML 2.0 Identity Provider (IdP).
O FoxIDs suporta os bindings SAML 2.0 redirect e post.
O FoxIDs também encaminha um login hint a partir do URL do pedido SAML Authn usando o parâmetro query login_hint ou LoginHint quando o pedido não inclui um NameID. Isto permite que relying parties como Microsoft Entra ID e Okta pré-preencham o identificador do utilizador na experiência de login do FoxIDs.
Um registo de aplicação expõe metadata SAML 2.0, permitindo à sua aplicação descobrir o Identity Provider (IdP) SAML 2.0.
O FoxIDs suporta os perfis SAML 2.0 de login, logout e single logout. O perfil Artifact não é suportado.
A metadata SAML 2.0 gerada pelo FoxIDs inclui informação de logout e single logout apenas se o logout estiver configurado no registo de aplicação SAML 2.0.
O FoxIDs suporta certificados RSA e ECDSA como certificados de validação de assinatura SAML. A validação de assinatura pode aceitar vários algoritmos permitidos, tornando possível confiar em relying parties que assinam SAML requests com certificados RSA ou ECDSA, mantendo RSA-SHA-1 legado desativado por predefinição.
Guias práticos:
- Ligar AD FS
- Ligar Amazon IAM Identity Center
- Ligar Google Workspace
- Ligar Microsoft Entra ID
- Ligar Context Handler test IdP (broker de identidade dinamarquês)
Configuração
Como configurar a sua aplicação como SAML 2.0 Relying Party (RP).
Endpoints metadata
- Metadata IdP:
https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/idpmetadata(substituatenant-x,environment-yeapplication-saml-pr1pelos seus valores). - Endpoint alternativo único: o endpoint Authn também devolve a metadata IdP quando chamado com
GETe semSAMLRequest. Isto permite que parceiros que exigem um único URL tanto para descarregar metadata como para pedidos Authn usem o mesmo endereço, por exemplohttps://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/authn. Quando o mesmo endpoint recebe um SAML AuthnRequest via redirect ou post binding, executa o fluxo de login normal.
Um registo de aplicação pode suportar login via vários métodos de autenticação ao adicionar o nome do método de autenticação ao URL.
Por exemplo, https://foxids.com/tenant-x/environment-y/application-saml-pr1(login)/saml/idpmetadata ou /saml/authn direciona o método login. Também pode usar a notação predefinida * para ativar login com todos os métodos de autenticação.
O ecrã seguinte mostra a configuração de um registo de aplicação SAML 2.0 do FoxIDs no FoxIDs Control Client. Aqui a configuração é criada a partir da metadata da aplicação. Os claims emitidos são limitados ao conjunto configurado e pode usar a notação * para emitir todos os claims.
Opções de configuração adicionais ficam disponíveis ao clicar em Show advanced.

Pode modificar o conjunto de claims SAML 2.0 e implementar claim tasks com transformações e tarefas de claims. Se criar um novo claim, adicione o claim ou
*à listaIssue claimspara emitir o claim para a sua aplicação.
Segurança e interoperabilidade
As definições avançadas de segurança SAML estão disponíveis ao clicar em Show advanced no registo de aplicação SAML 2.0.
- Signature algorithm controla o algoritmo que o FoxIDs usa ao assinar SAML responses ou assertions. RSA-SHA-256 é a predefinição.
- Signature validation algorithms é uma allowlist para SAML requests e mensagens de logout assinadas recebidas da relying party. A allowlist predefinida inclui os algoritmos suportados RSA-SHA-256/384/512 e ECDSA-SHA-256/384/512 e exclui RSA-SHA-1.
- Os certificados de validação de assinatura SAML suportam certificados RSA e ECDSA, para que uma relying party possa usar ambos os tipos de certificado ao assinar SAML requests e mensagens de logout.
- Encrypt authn response encripta a assertion na SAML authentication response. Quando ativado, deve ser indicado o relying party encryption certificate e, se necessário para interoperabilidade, podem ser selecionados Encryption algorithm e Key encryption algorithm.
Os algoritmos de data encryption suportados são AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-GCM, AES-192-GCM e AES-256-GCM. AES-256-CBC é a predefinição.
Os algoritmos de key encryption suportados são RSA 1.5, RSA-OAEP e XML Encryption 1.1 RSA-OAEP. RSA-OAEP é a predefinição. Use RSA 1.5 apenas quando uma relying party antiga o exigir.
Exigir autenticação multifator (MFA)
A SAML 2.0 Relying Party (RP) pode exigir MFA incluindo urn:foxids:mfa em RequestedAuthnContext.AuthnContextClassRef. Pode combiná-lo com valores mais específicos, como urn:foxids:link. Consulte pedir MFA a partir das aplicações.
Pode encontrar código de exemplo em AspNetCoreSamlSample e no respetivo ficheiro SamlController.cs. A propriedade AuthnContextClassRef pode ser definida no método Login em SamlController.cs:
public IActionResult Login(string returnUrl = null)
{
var binding = new Saml2RedirectBinding();
binding.SetRelayStateQuery(new Dictionary<string, string>
{
{ relayStateReturnUrl, returnUrl ?? Url.Content("~/") }
});
var saml2AuthnRequest = new Saml2AuthnRequest(saml2Config)
{
// To require MFA
RequestedAuthnContext = new RequestedAuthnContext
{
Comparison = AuthnContextComparisonTypes.Exact,
AuthnContextClassRef = new string[] { "urn:foxids:mfa" },
}
};
return binding.Bind(saml2AuthnRequest).ToActionResult();
}