ClaimsTransformations

Nota

In Azure Active Directory B2C i criteri personalizzati sono stati progettati principalmente per far fronte a scenari complessi. Per la maggior parte degli scenari, è consigliabile usare i flussi utente predefiniti. In caso contrario, vedere Introduzione ai criteri personalizzati in Active Directory B2C.

L'elemento ClaimsTransformations contiene un elenco di funzioni di trasformazione delle attestazioni che possono essere usate nei percorsi utente come parte di un criterio personalizzato. Una trasformazione di attestazioni converte una determinata attestazione in un'altra. Nella trasformazione delle attestazioni viene specificare il metodo di trasformazione, ad esempio l'aggiunta di un elemento a una raccolta di stringhe o la modifica delle maiuscole/minuscole di una stringa.

Per includere l'elenco di funzioni di trasformazione delle attestazioni che possono essere usate nei percorsi di utente, un elemento XML ClaimsTransformations deve essere dichiarato nella sezione BuildingBlocks dei criteri.

<ClaimsTransformations>
  <ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
    ...
  </ClaimsTransformation>
</ClaimsTransformations>

L'elemento ClaimsTransformation contiene gli attributi seguenti:

Attributo Obbligatoria Descrizione
ID Identificatore usato per identificare in modo univoco la trasformazione delle attestazioni. Viene fatto riferimento all'identificatore da altri elementi XML nei criteri.
TransformationMethod Il metodo di trasformazione da usare nella trasformazione delle attestazioni. Ogni trasformazione delle attestazioni ha i propri valori. Vedere i riferimenti delle trasformazioni di attestazioni per un elenco completo dei valori disponibili.

ClaimsTransformation

L'elemento ClaimsTransformation contiene gli elementi seguenti:

<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
  <InputClaims>
    ...
  </InputClaims>
  <InputParameters>
    ...
  </InputParameters>
  <OutputClaims>
    ...
  </OutputClaims>
</ClaimsTransformation>
Elemento Occorrenze Descrizione
InputClaims 0:1 Un elenco degli elementi InputClaim che specificano i tipi di attestazione che vengono accettati come input per la trasformazione delle attestazioni. Ognuno di questi elementi contiene un riferimento a un ClaimType già definito nella sezione ClaimsSchema nei criteri.
InputParameters 0:1 Un elenco di elementi InputParameter forniti come input per la trasformazione delle attestazioni.
OutputClaims 0:1 Un elenco di elementi OutputClaim che specificano i tipi di attestazione che vengono generati dopo aver richiamato ClaimsTransformation. Ognuno di questi elementi contiene un riferimento a un ClaimType già definito nella sezione ClaimsSchema.

InputClaims

L'elemento InputClaims contiene l'elemento seguente:

Elemento Occorrenze Descrizione
InputClaim 1:n Un tipo di attestazione di input previsto.

InputClaim

L'elemento InputClaim contiene gli attributi seguenti:

Attributo Obbligatoria Descrizione
ClaimTypeReferenceId Un riferimento a un ClaimType già definito nella sezione ClaimsSchema nei criteri.
TransformationClaimType Un identificatore per fare riferimento a un tipo di attestazione di trasformazione. Ogni trasformazione delle attestazioni ha i propri valori. Vedere i riferimenti delle trasformazioni di attestazioni per un elenco completo dei valori disponibili.

InputParameters

L'elemento InputParameters contiene l'elemento seguente:

Elemento Occorrenze Descrizione
InputParameter 1:n Un tipo di parametro di input previsto.

InputParameter

Attributo Obbligatoria Descrizione
ID Un identificatore che rappresenta un riferimento a un parametro del metodo di trasformazione delle attestazioni. Ogni metodo di trasformazione delle attestazioni ha i propri valori. Vedere la tabella delle trasformazioni delle attestazioni per un elenco completo dei valori disponibili.
DataType Il tipo di dati del parametro, ad esempio String, Boolean, Int o DateTime in base all'enumerazione DataType nello schema XML dei criteri personalizzati. Questo tipo viene usato per eseguire operazioni aritmetiche in modo corretto. Ogni trasformazione delle attestazioni ha i propri valori. Vedere i riferimenti delle trasformazioni di attestazioni per un elenco completo dei valori disponibili.
Valore Un valore che viene passato letteralmente alla trasformazione. Alcuni valori sono arbitrari, altri vengono selezionati dal metodo di trasformazione delle attestazioni.

OutputClaims

L'elemento OutputClaims contiene l'elemento seguente:

Elemento Occorrenze Descrizione
OutputClaim 0:n Un tipo di attestazione di output previsto.

OutputClaim

L'elemento OutputClaim contiene gli attributi seguenti:

Attributo Obbligatoria Descrizione
ClaimTypeReferenceId Un riferimento a un ClaimType già definito nella sezione ClaimsSchema nei criteri.
TransformationClaimType Un identificatore per fare riferimento a un tipo di attestazione di trasformazione. Ogni trasformazione delle attestazioni ha i propri valori. Vedere i riferimenti delle trasformazioni di attestazioni per un elenco completo dei valori disponibili.

Le attestazioni di input e output usate nella trasformazione delle attestazioni devono essere distinte. Non è possibile usare la stessa attestazione di input come attestazione di output.

Esempio

Ad esempio, è possibile archiviare l'ultima versione delle condizioni d'uso accettare dall'utente. Quando si aggiornano le condizioni d'uso, è possibile chiedere all'utente di accettare la nuova versione. Nell'esempio seguente la trasformazione delle attestazioni HasTOSVersionChanged confronta il valore dell'attestazione TOSVersion con il valore dell'attestazione LastTOSAcceptedVersion e quindi restituisce l'attestazione booleana TOSVersionChanged.

<BuildingBlocks>
  <ClaimsSchema>
    <ClaimType Id="TOSVersionChanged">
      <DisplayName>Indicates if the TOS version accepted by the end user is equal to the current version</DisplayName>
      <DataType>boolean</DataType>
    </ClaimType>
    <ClaimType Id="TOSVersion">
      <DisplayName>TOS version</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
    <ClaimType Id="LastTOSAcceptedVersion">
      <DisplayName>TOS version accepted by the end user</DisplayName>
      <DataType>string</DataType>
    </ClaimType>
  </ClaimsSchema>

  <ClaimsTransformations>
    <ClaimsTransformation Id="HasTOSVersionChanged" TransformationMethod="CompareClaims">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="TOSVersion" TransformationClaimType="inputClaim1" />
        <InputClaim ClaimTypeReferenceId="LastTOSAcceptedVersion" TransformationClaimType="inputClaim2" />
      </InputClaims>
      <InputParameters>
        <InputParameter Id="operator" DataType="string" Value="NOT EQUAL" />
      </InputParameters>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="TOSVersionChanged" TransformationClaimType="outputClaim" />
      </OutputClaims>
    </ClaimsTransformation>
  </ClaimsTransformations>
</BuildingBlocks>

Riferimento delle trasformazioni delle attestazioni

Per esempi di trasformazioni delle attestazioni, vedere le pagine seguenti: