ClaimsTransformations

Anteckning

I Azure Active Directory B2C är anpassade principer främst utformade för att hantera komplexa scenarier. I de flesta scenarier rekommenderar vi att du använder inbyggda användarflöden. Om du inte har gjort det kan du läsa mer om startpaketet för anpassad princip i Kom igång med anpassade principer i Active Directory B2C.

Elementet ClaimsTransformations innehåller en lista över funktioner för anspråkstransformering som kan användas i användarresor som en del av en anpassad princip. En anspråkstransformering konverterar ett specifikt anspråk till ett annat. I anspråkstransformeringen anger du transformeringsmetoden, till exempel att lägga till ett objekt i en strängsamling eller ändra skiftläget för en sträng.

Om du vill inkludera listan över anspråkstransformeringsfunktioner som kan användas i användarresorna måste xml-elementet ClaimsTransformations deklareras under avsnittet BuildingBlocks i principen.

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

Elementet ClaimsTransformation innehåller följande attribut:

Attribut Krävs Beskrivning
Id Yes En identifierare som används för att unikt identifiera anspråkstransformeringen. Identifieraren refereras från andra XML-element i principen.
TransformationMethod Yes Transformeringsmetoden som ska användas i anspråkstransformeringen. Varje anspråkstransformering har sina egna värden. Se referensen för anspråkstransformering för en fullständig lista över tillgängliga värden.

ClaimsTransformation

Elementet ClaimsTransformation innehåller följande element:

<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
  <InputClaims>
    ...
  </InputClaims>
  <InputParameters>
    ...
  </InputParameters>
  <OutputClaims>
    ...
  </OutputClaims>
</ClaimsTransformation>
Element Händelser Description
InputClaims 0:1 En lista över InputClaim-element som anger anspråkstyper som tas som indata till anspråkstransformeringen. Vart och ett av dessa element innehåller en referens till en ClaimType som redan har definierats i avsnittet ClaimsSchema i principen.
Indataparametrar 0:1 En lista över InputParameter-element som tillhandahålls som indata till anspråkstransformeringen.
OutputClaims 0:1 En lista över OutputClaim-element som anger anspråkstyper som skapas efter att ClaimsTransformation har anropats. Vart och ett av dessa element innehåller en referens till en ClaimType som redan har definierats i avsnittet ClaimsSchema.

InputClaims

Elementet InputClaims innehåller följande element:

Element Händelser Description
InputClaim 1:n En förväntad typ av indataanspråk.

InputClaim

Elementet InputClaim innehåller följande attribut:

Attribut Krävs Beskrivning
ClaimTypeReferenceId Yes En referens till en ClaimType som redan har definierats i avsnittet ClaimsSchema i principen.
TransformationClaimType Yes En identifierare som refererar till en omvandlingsanspråktyp. Varje anspråkstransformering har sina egna värden. Se referensen för anspråkstransformering för en fullständig lista över tillgängliga värden.

Indataparametrar

Elementet InputParameters innehåller följande element:

Element Händelser Description
InputParameter 1:n En förväntad indataparameter.

InputParameter

Attribut Krävs Beskrivning
Id Yes En identifierare som är en referens till en parameter för anspråkstransformeringsmetoden. Varje anspråkstransformeringsmetod har sina egna värden. Se tabellen för anspråkstransformering för en fullständig lista över tillgängliga värden.
DataType Yes Typen av data för parametern, till exempel Sträng, Boolesk, Int eller DateTime enligt DataType-uppräkningen i XML-schemat för anpassade principer. Den här typen används för att utföra aritmetiska åtgärder korrekt. Varje anspråkstransformering har sina egna värden. Se referensen för anspråkstransformering för en fullständig lista över tillgängliga värden.
Värde Yes Ett värde som skickas ordagrant till omvandlingen. Vissa av värdena är godtyckliga, några av dem väljer du från anspråkstransformeringsmetoden.

OutputClaims

Elementet OutputClaims innehåller följande element:

Element Händelser Description
OutputClaim 0:n En förväntad anspråkstyp för utdata.

OutputClaim

OutputClaim-elementet innehåller följande attribut:

Attribut Krävs Beskrivning
ClaimTypeReferenceId Yes En referens till en ClaimType som redan har definierats i avsnittet ClaimsSchema i principen.
TransformationClaimType Yes En identifierare som refererar till en typ av transformeringsanspråk. Varje anspråkstransformering har sina egna värden. En fullständig lista över tillgängliga värden finns i referensen för anspråkstransformering .

Indata- och utdataanspråk som används i anspråkstransformering måste vara distinkta. Samma inkommande anspråk kan inte användas som utdataanspråket.

Exempel

Du kan till exempel lagra den senaste versionen av dina villkor för tjänster som användaren har accepterat. När du uppdaterar villkoren för tjänsterna kan du be användaren att godkänna den nya versionen. I följande exempel jämför anspråksomvandlingen HasTOSVersionChanged värdet för TOSVersion-anspråket med värdet för anspråket LastTOSAcceptedVersion och returnerar sedan det booleska TOSVersionChanged-anspråket .

<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>

Referens för anspråkstransformeringar

Exempel på anspråkstransformeringar finns på följande referenssidor: