Delen via


ClaimsTransformations

Notitie

In Azure Active Directory B2C is een aangepast beleid voornamelijk bedoeld om complexe scenario's aan te pakken. Voor de meeste scenario's raden we u aan de ingebouwde gebruikersstromen te gebruiken. Als u dit nog niet hebt gedaan, vindt u meer informatie over aangepast beleid in het starterspakket in Aan de slag met aangepaste beleidsregels in Active Directory B2C.

Het element ClaimsTransformations bevat een lijst met claimtransformatiefuncties die kunnen worden gebruikt in gebruikerstrajecten als onderdeel van een aangepast beleid. Een claimtransformatie zet een bepaalde claim om in een andere. In de claimtransformatie geeft u de transformatiemethode op, bijvoorbeeld het toevoegen van een item aan een tekenreeksverzameling of het wijzigen van het hoofdlettergebruik van een tekenreeks.

Als u de lijst met claimtransformatiefuncties wilt opnemen die kunnen worden gebruikt in de gebruikersbelevingen, moet een XML-element ClaimsTransformations worden gedeclareerd onder de sectie BuildingBlocks van het beleid.

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

Het element ClaimsTransformation bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
Id Yes Een id die wordt gebruikt om de claimtransformatie uniek te identificeren. Naar de id wordt verwezen vanuit andere XML-elementen in het beleid.
TransformationMethod Yes De transformatiemethode die moet worden gebruikt in de claimtransformatie. Elke claimtransformatie heeft zijn eigen waarden. Zie de claimtransformatiereferentie voor een volledige lijst met de beschikbare waarden.

ClaimsTransformatie

Het element ClaimsTransformation bevat de volgende elementen:

<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
  <InputClaims>
    ...
  </InputClaims>
  <InputParameters>
    ...
  </InputParameters>
  <OutputClaims>
    ...
  </OutputClaims>
</ClaimsTransformation>
Element Instanties Description
InputClaims 0:1 Een lijst met InputClaim-elementen die claimtypen opgeven die worden gebruikt als invoer voor de claimtransformatie. Elk van deze elementen bevat een verwijzing naar een ClaimType dat al is gedefinieerd in de sectie ClaimsSchema in het beleid.
Inputparameters 0:1 Een lijst met InputParameter-elementen die worden opgegeven als invoer voor de claimtransformatie.
OutputClaims 0:1 Een lijst met OutputClaim-elementen die claimtypen opgeven die worden geproduceerd nadat de ClaimsTransformation is aangeroepen. Elk van deze elementen bevat een verwijzing naar een ClaimType dat al is gedefinieerd in de sectie ClaimsSchema.

InputClaims

Het element InputClaims bevat het volgende element:

Element Instanties Description
InputClaim 1:n Een verwacht type invoerclaim.

InputClaim

Het element InputClaim bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
ClaimTypeReferenceId Yes Een verwijzing naar een ClaimType dat al is gedefinieerd in de sectie ClaimsSchema in het beleid.
TransformationClaimType Yes Een id om te verwijzen naar een transformatieclaimtype. Elke claimtransformatie heeft zijn eigen waarden. Zie de claimtransformatiereferentie voor een volledige lijst met de beschikbare waarden.

Inputparameters

Het element InputParameters bevat het volgende element:

Element Instanties Description
InputParameter 1:n Een verwachte invoerparameter.

InputParameter

Kenmerk Vereist Beschrijving
Id Yes Een id die een verwijzing is naar een parameter van de claimtransformatiemethode. Elke claimtransformatiemethode heeft zijn eigen waarden. Zie de tabel claimtransformatie voor een volledige lijst met de beschikbare waarden.
DataType Yes Het type gegevens van de parameter, zoals Tekenreeks, Booleaanse waarde, Int of DateTime volgens de opsomming DataType in het XML-schema van het aangepaste beleid. Dit type wordt gebruikt om rekenkundige bewerkingen correct uit te voeren. Elke claimtransformatie heeft zijn eigen waarden. Zie de claimtransformatiereferentie voor een volledige lijst met de beschikbare waarden.
Waarde Yes Een waarde die letterlijk wordt doorgegeven aan de transformatie. Sommige van de waarden zijn willekeurig, sommige selecteert u in de claimtransformatiemethode.

OutputClaims

Het element OutputClaims bevat het volgende element:

Element Instanties Description
OutputClaim 0:n Een verwacht type uitvoerclaim.

OutputClaim

Het element OutputClaim bevat de volgende kenmerken:

Kenmerk Vereist Beschrijving
ClaimTypeReferenceId Yes Een verwijzing naar een ClaimType dat al is gedefinieerd in de sectie ClaimsSchema in het beleid.
TransformationClaimType Yes Een id om te verwijzen naar een transformatieclaimtype. Elke claimtransformatie heeft zijn eigen waarden. Zie de claimtransformatiereferentie voor een volledige lijst met de beschikbare waarden.

Invoer- en uitvoerclaims die worden gebruikt in claimtransformatie, moeten verschillend zijn. Dezelfde invoerclaim kan niet worden gebruikt als de uitvoerclaim.

Voorbeeld

U kunt bijvoorbeeld de laatste versie van uw servicevoorwaarden opslaan die de gebruiker heeft geaccepteerd. Wanneer u de servicevoorwaarden bijwerkt, kunt u de gebruiker vragen de nieuwe versie te accepteren. In het volgende voorbeeld vergelijkt de claimtransformatie HasTOSVersionChanged de waarde van de CLAIM TOSVersion met de waarde van de claim LastTOSAcceptedVersion en retourneert vervolgens de booleaanse TOSVersionChanged-claim .

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

Naslaginformatie over claimtransformaties

Zie de volgende referentiepagina's voor voorbeelden van claimtransformaties: