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>
مرجع تحولات المطالبات
للحصول على أمثلة على تحويلات المطالبات، راجع الصفحات المرجعية التالية: