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: