BuildingBlocks

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 elemento BuildingBlocks é adicionado dentro do elemento TrustFrameworkPolicy .

<TrustFrameworkPolicy
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="https://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
  PolicySchemaVersion="0.3.0.0"
  TenantId="mytenant.onmicrosoft.com"
  PolicyId="B2C_1A_TrustFrameworkBase"
  PublicPolicyUri="http://mytenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase">

  <BuildingBlocks>
    <ClaimsSchema>
      ...
    </ClaimsSchema>
    <Predicates>
    ...
    </Predicates>
    <PredicateValidations>
    ...
    </PredicateValidations>
    <ClaimsTransformations>
      ...
    </ClaimsTransformations>
    <ContentDefinitions>
      ...
    </ContentDefinitions>
    <Localization>
      ...
    </Localization>
    <DisplayControls>
      ...
    </DisplayControls>
 </BuildingBlocks>

O elemento BuildingBlocks contém os seguintes elementos que têm de ser especificados pela ordem definida:

  • ClaimsSchema – define os tipos de afirmação que podem ser referenciados como parte da política. O esquema de afirmações é o local onde declara os tipos de afirmações. Um tipo de afirmação é semelhante a uma variável em muitas linguagens programáticas. Pode utilizar o tipo de afirmação para recolher dados do utilizador da sua aplicação, receber afirmações de fornecedores de identidade social, enviar e receber dados de uma API REST personalizada ou armazenar quaisquer dados internos utilizados pela sua política personalizada.

  • Predicados e PredicateValidationsInput – permite-lhe executar um processo de validação para garantir que apenas os dados devidamente formados são introduzidos numa afirmação.

  • ClaimsTransformations - Contém uma lista de transformações de afirmações que podem ser utilizadas na sua política. Uma transformação de afirmações converte uma afirmação noutra. Na transformação de afirmações, especifique um método de transformação, como:

    • Alterar o caso de uma afirmação de cadeia de carateres para a especificada. Por exemplo, alterar uma cadeia de minúsculas para maiúsculas.
    • Comparar duas afirmações e devolver uma afirmação com true indicando que as afirmações correspondem, caso contrário, são falsas.
    • Criar uma afirmação de cadeia a partir do parâmetro fornecido na política.
    • Criar uma cadeia aleatória com o gerador de números aleatórios.
    • Formatar uma afirmação de acordo com a cadeia de formato fornecida. Esta transformação utiliza o método C# String.Format .
  • InputValidation – este elemento permite-lhe executar agregações booleanas semelhantes a e eou.

  • ContentDefinitions - Contém URLs para modelos HTML5 a utilizar no seu percurso de utilizador. Numa política personalizada, uma definição de conteúdo define o URI da página HTML5 que é utilizado para um passo especificado no percurso do utilizador. Por exemplo, as páginas de início de sessão ou inscrição, reposição de palavra-passe ou erro. Pode modificar o aspeto e a funcionalidade ao substituir o LoadUri para o ficheiro HTML5. Em alternativa, pode criar novas definições de conteúdo de acordo com as suas necessidades. Este elemento pode conter uma referência de recursos localizados com um ID de localização.

  • Localização – permite-lhe suportar vários idiomas. O suporte de localização nas políticas permite-lhe configurar a lista de idiomas suportados numa política e escolher um idioma predefinido. As cadeias e coleções específicas da linguagem também são suportadas.

  • DisplayControls – define os controlos a serem apresentados numa página. Os controlos de apresentação têm funcionalidades especiais e interagem com perfis técnicos de validação de back-end.