Partilhar via


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

Nota

No Azure Ative Directory B2C, as políticas personalizadas são projetadas principalmente para lidar com cenários complexos. Para a maioria dos cenários, recomendamos que você use fluxos de usuário internos. Se você não tiver feito isso, saiba mais sobre o pacote inicial de políticas personalizadas em Introdução às políticas personalizadas no Ative Directory B2C.

O Azure Ative Directory B2C (Azure AD B2C) emite vários tipos de tokens de segurança à medida que processa cada fluxo de autenticação. Um perfil técnico para um emissor de token SAML emite um token SAML que é retornado ao aplicativo de terceira parte confiável (provedor de serviços). Normalmente, esse perfil técnico é a última etapa de orquestração na jornada 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>

Declarações de entrada, saída e persistência

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

Metadados

Atributo Necessário Description
EmissorUri Não O nome do emissor que aparece na resposta SAML. O valor deve ser o mesmo nome configurado no aplicativo de terceira parte confiável.
XmlSignatureAlgorithm Não O método que o Azure AD B2C usa para assinar a Declaração 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. Utilize apenas o algoritmo suportado pelo certificado. Para configurar a resposta SAML, consulte Opções para registrar um aplicativo SAML
TokenNotBeforeSkewInSeconds Não Especifica a inclinação, como um inteiro, para o carimbo de data/hora que marca o início do período de validade. Quanto mais elevado for este número, mais recuado começa o período de validade em relação ao momento em que as declarações são emitidas para a parte utilizadora. Por exemplo, quando o TokenNotBeforeSkewInSeconds é definido como 60 segundos, se o token for emitido às 13:05:10 UTC, o token é válido a partir das 13:04:10 UTC. O valor predefinido é 0. O valor máximo é 3600 (uma hora).
TokenLifeTimeInSeconds Não Especifica a vida útil da asserção SAML. Esse valor está em segundos a partir do valor NotBefore mencionado acima. O valor padrão é 300 segundos (5 min).

Chaves criptográficas

O elemento CryptographicKeys contém os seguintes atributos:

Atributo Necessário Description
MetadataSigning Sim O certificado X509 (conjunto de chaves RSA) a ser usado para assinar metadados 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 mensagens SAML. O Azure AD B2C usa essa chave para assinar a resposta <samlp:Response> enviada à terceira parte confiável.
SamlAssertionAssinatura Não Especifique o certificado X509 (conjunto de chaves RSA) a ser usado para assinar o elemento de asserção <saml:Assertion> SAML do token SAML. Se não for fornecida, a SamlMessageSigning chave criptográfica será usada.

Gestão de sessões

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

Próximos passos

Consulte o seguinte artigo, por exemplo, sobre como usar um perfil técnico de emissor SAML: