ClaimsTransformations

Not

Azure Active Directory B2C'de özel ilkeler öncelikli olarak karmaşık senaryoları ele almak için tasarlanmıştır. Çoğu senaryoda, yerleşik kullanıcı akışlarını kullanmanızı öneririz. Bunu yapmadıysanız, Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümünde özel ilke başlangıç paketi hakkında bilgi edinin.

ClaimsTransformations öğesi, özel bir ilkenin parçası olarak kullanıcı yolculuklarında kullanılabilecek talep dönüştürme işlevlerinin listesini içerir. Talep dönüştürmesi belirli bir talebi başka bir talebe dönüştürür. Talep dönüştürmesinde dönüştürme yöntemini belirtirsiniz; örneğin bir dize koleksiyonuna öğe ekler veya bir dizenin büyük/küçük harflerini değiştirirsiniz.

Kullanıcı yolculuklarında kullanılabilecek talep dönüştürme işlevlerinin listesini eklemek için, ilkenin BuildingBlocks bölümünde bir ClaimsTransformations XML öğesi bildirilmelidir.

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

ClaimsTransformation öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Gerekli Açıklama
Id Yes Talep dönüştürmesini benzersiz olarak tanımlamak için kullanılan tanımlayıcı. Tanımlayıcıya ilkedeki diğer XML öğelerinden başvurulur.
DönüştürmeMethod Yes Talep dönüştürmede kullanılacak dönüştürme yöntemi. Her talep dönüştürmenin kendi değerleri vardır. Kullanılabilir değerlerin tam listesi için talep dönüştürme başvurusuna bakın.

ClaimsTransformation

ClaimsTransformation öğesi aşağıdaki öğeleri içerir:

<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
  <InputClaims>
    ...
  </InputClaims>
  <InputParameters>
    ...
  </InputParameters>
  <OutputClaims>
    ...
  </OutputClaims>
</ClaimsTransformation>
Öğe Oluşum Description
InputClaims 0:1 Talep dönüştürmeye giriş olarak alınan talep türlerini belirten InputClaim öğelerinin listesi. Bu öğelerin her biri, ilkenin ClaimsSchema bölümünde önceden tanımlanmış bir ClaimType'a başvuru içerir.
Inputparameters 0:1 Talep dönüştürmeye giriş olarak sağlanan InputParameter öğelerinin listesi.
OutputClaims 0:1 ClaimsTransformation çağrıldıktan sonra oluşturulan talep türlerini belirten OutputClaim öğelerinin listesi. Bu öğelerin her biri, ClaimsSchema bölümünde önceden tanımlanmış bir ClaimType'a başvuru içerir.

InputClaims

InputClaims öğesi aşağıdaki öğeyi içerir:

Öğe Oluşum Description
InputClaim 1:n Beklenen giriş talep türü.

InputClaim

InputClaim öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Gerekli Açıklama
ClaimTypeReferenceId Yes İlkenin ClaimsSchema bölümünde zaten tanımlanmış bir ClaimType başvurusu.
TransformationClaimType Yes Dönüştürme talep türüne başvurmak için bir tanımlayıcı. Her talep dönüştürmenin kendi değerleri vardır. Kullanılabilir değerlerin tam listesi için talep dönüştürme başvurusuna bakın.

Inputparameters

InputParameters öğesi aşağıdaki öğeyi içerir:

Öğe Oluşum Description
Inputparameter 1:n Beklenen giriş parametresi.

Inputparameter

Öznitelik Gerekli Açıklama
Id Yes Talep dönüştürme yönteminin parametresine başvuru olan tanımlayıcı. Her talep dönüştürme yönteminin kendi değerleri vardır. Kullanılabilir değerlerin tam listesi için talep dönüştürme tablosuna bakın.
DataType Yes Özel ilke XML şemasındaki DataType sabit listesi başına dize, Boole, Int veya DateTime gibi parametrenin veri türü. Bu tür, aritmetik işlemleri doğru bir şekilde gerçekleştirmek için kullanılır. Her talep dönüştürmenin kendi değerleri vardır. Kullanılabilir değerlerin tam listesi için talep dönüştürme başvurusuna bakın.
Değer Yes Dönüştürmeye ayrıntılı olarak geçirilen bir değer. Bazı değerler rastgeledir, bazıları talep dönüştürme yönteminden seçersiniz.

OutputClaims

OutputClaims öğesi aşağıdaki öğeyi içerir:

Öğe Oluşum Description
OutputClaim 0:n Beklenen çıkış talep türü.

OutputClaim

OutputClaim öğesi aşağıdaki öznitelikleri içerir:

Öznitelik Gerekli Açıklama
ClaimTypeReferenceId Yes İlkenin ClaimsSchema bölümünde zaten tanımlanmış bir ClaimType başvurusu.
TransformationClaimType Yes Dönüştürme talep türüne başvurmak için bir tanımlayıcı. Her talep dönüştürmenin kendi değerleri vardır. Kullanılabilir değerlerin tam listesi için talep dönüştürme başvurusuna bakın.

Talep dönüştürmede kullanılan giriş ve çıkış talepleri ayrı olmalıdır. Aynı giriş talebi çıkış talebi olarak kullanılamaz.

Örnek

Örneğin, hizmet koşullarınızın son sürümünü kullanıcının kabul ettiğini depoleyebilirsiniz. Hizmet koşullarını güncelleştirdiğinizde, kullanıcıdan yeni sürümü kabul etmesini isteyebilirsiniz. Aşağıdaki örnekte HasTOSVersionChanged talep dönüştürmesi, TOSVersion talebi değerini LastTOSAcceptedVersion talebi değeriyle karşılaştırır ve ardından boolean TOSVersionChanged talebi döndürür.

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

Talep dönüştürmeleri başvurusu

Talep dönüştürme örnekleri için aşağıdaki başvuru sayfalarına bakın: