Definir um perfil técnico para um emissor de tokens SAML numa política personalizada do Azure Active Directory B2C

Nota

No Azure Active Directory B2C, as políticas personalizadas são concebidas principalmente para abordar cenários complexos. Para a maioria dos cenários, recomendamos que utilize fluxos de utilizador incorporados. Se ainda não o fez, saiba mais sobre o pacote de introdução de políticas personalizadas em Introdução às políticas personalizadas no Active Directory B2C.

O Azure Active 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 tokens SAML emite um token SAML que é devolvido à aplicação de entidade confiadora (fornecedor de serviços). Normalmente, este perfil técnico é o último passo de orquestração no percurso do utilizador.

Protocolo

O atributo Nome do elemento Protocolo tem de ser definido como SAML2. Defina o elemento OutputTokenFormat como SAML2.

O exemplo seguinte 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>

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

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

Metadados

Atributo Necessário Descrição
IssuerUri No O nome do emissor que aparece na resposta SAML. O valor deve ser o mesmo nome configurado na aplicação de entidade confiadora.
XmlSignatureAlgorithm No O método que Azure AD B2C utiliza para assinar a Asserção SAML. Valores possíveis: Sha256, , Sha384Sha512ou Sha1. Certifique-se de que configura o algoritmo de assinatura em ambos os lados com o mesmo valor. Utilize apenas o algoritmo suportado pelo certificado. Para configurar a Resposta SAML, veja Opções para registar uma aplicação SAML
TokenNotBeforeSkewInSeconds No Especifica a distorção, como um número inteiro, para o carimbo de data/hora que marca o início do período de validade. Quanto maior for este número, mais para trás no tempo o período de validade começa relativamente ao tempo em que as afirmações são emitidas para a entidade confiadora. Por exemplo, quando o TokenNotBeforeSkewInSeconds está 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 No Especifica a vida útil da Asserção SAML. Este valor encontra-se em segundos a partir do valor NotBefore referenciado acima. O valor predefinido é 300 segundos (5 Min).

Teclas criptográficas

O elemento CryptographicKeys contém os seguintes atributos:

Atributo Necessário Descrição
MetadataSigning Yes O certificado X509 (conjunto de chaves RSA) a utilizar para assinar metadados SAML. Azure AD B2C utiliza esta chave para assinar os metadados.
SamlMessageSigning Yes Especifique o certificado X509 (conjunto de chaves RSA) a utilizar para assinar mensagens SAML. Azure AD B2C utiliza esta chave para assinar o envio de resposta <samlp:Response> para a entidade confiadora.
SamlAssertionSigning No Especifique o certificado X509 (conjunto de chaves RSA) a utilizar para assinar o elemento de asserção <saml:Assertion> SAML do token SAML. Se não for fornecida, é utilizada a SamlMessageSigning chave criptográfica.

Gestão de sessões

Para configurar o Azure AD sessões SAML B2C entre uma aplicação de entidade confiadora, o atributo do UseTechnicalProfileForSessionManagement elemento, referência à sessão SSO SamlSSOSessionProvider.

Passos seguintes

Veja o seguinte artigo, por exemplo, sobre a utilização de um perfil técnico do emissor SAML: