ClaimsTransformations

ملاحظة

في Azure Active Directory B2C، تم تصميم النُهج المخصصة بشكل أساسي لمعالجة السيناريوهات المعقدة. بالنسبة إلى معظم السيناريوهات، نوصي باستخدام تدفقات المستخدم المضمنة. إذا لم تقم بذلك، تعرف على حزمة بادئ النهج المخصصة في البدء باستخدام النهج المخصصة في Active Directory B2C.

يحتوي عنصر ⁧⁩ ClaimsTransformations ⁧⁩ على قائمة بوظائف تحويل المطالبات التي يمكن استخدامها في رحلات المستخدم كجزء من ⁧⁩ سياسة مخصصة ⁧⁩. يؤدي تحويل المطالبات إلى تحويل مطالبة معينة إلى مطالبة أخرى. في تحويل المطالبات، تقوم بتحديد طريقة التحويل؛ على سبيل المثال: إضافة عنصر إلى مجموعة سلسلة، أو تغيير حالة سلسلة.

لتضمين قائمة وظائف تحويل المطالبات التي يمكن استخدامها في رحلات المستخدم، يجب الإعلان عن عنصر ClaimsTransformations XML ضمن قسم BuildingBlocks من السياسة.

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

يحتوي عنصر ⁧⁩ ClaimsTransformation ⁧⁩ على السمات التالية:

السمة مطلوب الوصف
المعرّف نعم معرّف يُستخدم لتعريف تحويل المطالبة بشكل فريد. تتم الإشارة إلى المعرف من عناصر XML الأخرى في السياسة.
TransformationMethod نعم طريقة التحويل لاستخدامها في تحويل المطالبات. كل تحويل مطالبة له قيمه الخاصة. راجع ⁧⁩ مرجع تحويل المطالبات ⁧⁩؛ للحصول على قائمة كاملة بالقيم المتاحة.

ClaimsTransformation

يحتوي عنصر ⁧⁩ ClaimsTransformation ⁧⁩ على العناصر التالية:

<ClaimsTransformation Id="<identifier>" TransformationMethod="<method>">
  <InputClaims>
    ...
  </InputClaims>
  <InputParameters>
    ...
  </InputParameters>
  <OutputClaims>
    ...
  </OutputClaims>
</ClaimsTransformation>
العنصر الأحداث الوصف
InputClaims 0:1 قائمة بعناصر ⁧⁩ InputClaim ⁧⁩ التي تحدد أنواع المطالبات، التي يتم أخذها كمدخل لتحويل المطالبات. يحتوي كل عنصر من هذه العناصر على مرجع إلى ClaimType تم تحديده بالفعل في قسم ClaimsSchema في السياسة.
InputParameters 0:1 قائمة بعناصر ⁧⁩ InputParameter ⁧⁩ التي تم توفيرها كمدخلات لتحويل المطالبات.
OutputClaims 0:1 قائمة بعناصر ⁧⁩ OutputClaim ⁧⁩ التي تحدد أنواع المطالبات التي تم إنتاجها بعد استدعاء تحويل المطالبات. يحتوي كل عنصر من هذه العناصر على مرجع إلى ClaimType تم تحديده بالفعل في قسم ClaimsSchema.

InputClaims

يحتوي عنصر InputClaims على العنصر التالي:

العنصر الأحداث الوصف
مطالبة المدخلات 1:n نوع مطالبة إدخال متوقع.

مطالبة المدخلات

يحتوي عنصر InputClaim على السمات التالية:

السمة مطلوب الوصف
ClaimTypeReferenceId نعم مرجع إلى ClaimType تم تحديده بالفعل في قسم ClaimsSchema في السياسة.
نوع التحويل نعم معرّف للإشارة إلى نوع مطالبة التحويل. كل تحويل مطالبة له قيمه الخاصة. راجع ⁧⁩ مرجع تحويل المطالبات ⁧⁩؛ للحصول على قائمة كاملة بالقيم المتاحة.

InputParameters

يحتوي عنصر ⁧⁩ InputParameters ⁧⁩ على العنصر التالي:

العنصر الأحداث الوصف
مقياس الإدخال 1:n معلمة إدخال متوقعة.

مقياس الإدخال

السمة مطلوب الوصف
المعرّف نعم معرف يمثل مرجعًا لمعامل لطريقة تحويل عناصر الحماية. كل طريقة تحويل المطالبات لها قيمها الخاصة. راجع جدول تحويل المطالبات للحصول على قائمة كاملة بالقيم المتاحة.
نوع البيانات نعم نوع بيانات المعلمة؛ مثل: String، أو Boolean، أو Int، أو DateTime وفقًا لتعداد DataType في مخطط XML للسياسة المخصصة. يستخدم هذا النوع لإجراء العمليات الحسابية بشكل صحيح. كل تحويل مطالبة له قيمه الخاصة. راجع ⁧⁩ مرجع تحويل المطالبات ⁧⁩؛ للحصول على قائمة كاملة بالقيم المتاحة.
القيمة نعم قيمة يتم تمريرها حرفيًا للتحويل. بعض القيم عشوائية، بعضها تختاره من طريقة تحويل المطالبات.

OutputClaims

يحتوي عنصر OutputClaims على العنصر التالي:

العنصر الأحداث الوصف
OutputClaim 0:n نوع مطالبة ناتج متوقع.

OutputClaim

يحتوي عنصر OutputClaim على السمات التالية:

السمة مطلوب الوصف
ClaimTypeReferenceId نعم مرجع إلى ClaimType تم تحديده بالفعل في قسم ClaimsSchema في السياسة.
نوع التحويل نعم معرّف للإشارة إلى نوع مطالبة التحويل. كل تحويل مطالبة له قيمه الخاصة. راجع ⁧⁩ مرجع تحويل المطالبات ⁧⁩؛ للحصول على قائمة كاملة بالقيم المتاحة.

يجب أن تكون مطالبات المدخلات والمخرجات المستخدمة في تحويل المطالبات متميزة. لا يمكن استخدام نفس مطالبة الإدخال كمطالبة بالمخرجات.

مثال

على سبيل المثال: يمكنك تخزين الإصدار الأخير من شروط الخدمات التي قبلها المستخدم. عند تحديث شروط الخدمة، يمكنك مطالبة المستخدم بقبول الإصدار الجديد. في المثال التالي، يقارن تحويل المطالبات ⁧⁩ HasTOSVersionChanged ⁧⁩ قيمة مطالبة ⁧⁩ TOSVersion ⁧⁩ بقيمة المطالبة ⁧⁩ LastTOSAcceptedVersion ⁧⁩، ثم إرجاع القيمة المنطقية ⁧⁩ 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>

مرجع تحولات المطالبات

للحصول على أمثلة على تحويلات المطالبات، راجع الصفحات المرجعية التالية: