Compartilhar via


Definir um perfil técnico para um emissor de token SAML em uma política personalizada do Azure Active Directory B2C

Observação

No Azure Active Directory B2C, as políticas personalizadas são projetadas principalmente para tratar de cenários complexos. Para a maioria dos cenários, recomendamos que você use fluxos de usuários predefinidos. Se você ainda não fez isso, saiba mais sobre o pacote de início de política personalizado em Introdução às políticas personalizadas no Active Directory B2C.

O Azure AD B2C (Azure Active Directory B2C) emite vários tipos de tokens de segurança ao processar cada fluxo de autenticação. Um perfil técnico para um emissor de token SAML emite um token SAML que é retornado para o aplicativo de terceira parte confiável (provedor de serviço). Normalmente, esse perfil técnico é a última etapa de orquestração no percurso do usuário.

Protocolo

O atributo Name do elemento Protocol precisa ser definido como SAML2. Defina o elemento OutputTokenFormat como SAML2.

O exemplo a seguir mostra um perfil técnico para Saml2AssertionIssuer:

<TechnicalProfile Id="Saml2AssertionIssuer">
  <DisplayName>Token Issuer</DisplayName>
  <Protocol Name="SAML2"/>
  <OutputTokenFormat>SAML2</OutputTokenFormat>
  <Metadata>
    <Item Key="IssuerUri">https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/B2C_1A_signup_signin_SAML</Item>
    <Item Key="TokenNotBeforeSkewInSeconds">600</Item>
  </Metadata>
  <CryptographicKeys>
    <Key Id="MetadataSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
    <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
  </CryptographicKeys>
  <InputClaims/>
  <OutputClaims/>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
</TechnicalProfile>

Entrada, saída e manter declarações

Os elementos InputClaims, OutputClaims e PersistClaims estão vazios ou ausentes. Os elementos InutputClaimsTransformations e OutputClaimsTransformations também estão ausentes.

Metadados

Atributo Obrigatório Descrição
IssuerUri Não O nome do emissor que aparece na resposta SAML. O valor deve ser o nome configurado no aplicativo de terceira parte confiável.
XmlSignatureAlgorithm Não O método que o Azure AD B2C usa para assinar a instrução assert do SAML. Valores possíveis: Sha256, Sha384, Sha512 ou Sha1. Certifique-se de configurar o algoritmo de assinatura em ambos os lados com o mesmo valor. Use apenas o algoritmo com suporte do seu certificado. Para configurar a Resposta SAML, consulte Opções para registrar um aplicativo SAML
TokenNotBeforeSkewInSeconds Não Especifica a distorção, como um inteiro, para o carimbo de data/hora que marca o início do período de validade. Quanto maior for esse número, mas atrás no tempo será o inicio do período de validade em relação ao tempo em que as declarações foram emitidas para a terceira parte confiável. Por exemplo, quando TokenNotBeforeSkewInSeconds é definido como 60 segundos, se o token for emitido às 13:05:10 UTC, o token será válido de 13:04:10 UTC. O valor padrão é 0. O valor máximo é 3600 (uma hora).
TokenLifeTimeInSeconds Não Especifica a vida útil da instrução assert da SAML. Esse valor é em segundos do valor NotBefore referenciado acima. O valor padrão é 300 segundos (5 min).

Chaves de criptografia

O elemento CryptographicKeys contém os seguintes atributos:

Atributo Obrigatório Descrição
MetadataSigning Sim O certificado X509 (conjunto de chaves RSA) a ser usado para assinar os metadados de SAML. O Azure AD B2C usa essa chave para assinar os metadados.
SamlMessageSigning Sim Especifique o certificado X509 (conjunto de chaves RSA) a ser usado para assinar as mensagens SAML. O Azure AD B2C usa essa chave para assinar o envio da resposta <samlp:Response> para a terceira parte confiável.
SamlAssertionSigning Não Especifique o certificado X509 (conjunto de chaves RSA) a ser usado para assinar o elemento <saml:Assertion> de declaração SAML do token SAML. Se não for fornecida, a chave criptográfica SamlMessageSigning será usada em vez disso.

Gerenciamento da sessão

Para configurar as sessões de SAML do Azure AD B2C entre um aplicativo de terceira parte confiável, o atributo do elemento UseTechnicalProfileForSessionManagement, consulte a sessão de SSO SamlSSOSessionProvider.

Próximas etapas

Confira o seguinte artigo para obter exemplos de como usar um perfil técnico de emissor SAML: