تحويلات المطالبات المنطقية

توفر هذه المقالة أمثلة لاستخدام سلسلة تحويلات المطالبات لمخطط إطار عمل تجربة الهوية في Microsoft Azure Active Directory B2C (Azure AD B2C). لمزيد من المعلومات، راجع تحويلات المطالبات.

AndClaims

يحسب عملية And لمُطالبتين من مطالبات الإدخال المنطقية ويُعين مطالبة الناتج مع نتيجة العملية. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
InputClaim inputClaim1 منطقي المطالبة الأولى للتقييم.
InputClaim inputClaim2 منطقي المطالبة الثانية للتقييم.
OutputClaim outputClaim منطقي تم استدعاء المطالبة التي ستُنتج بعد تحويل المطالبات هذا (صواب أو خطأ).

مثال على المطالبات

يوضح تحويل المطالبات التالي كيفية And لمُطالبتين منطقيتين: isEmailNotExist، وisSocialAccount. تُعيّن مطالبة الناتج presentEmailSelfAsserted إلى true إذا كانت قيمة كل مطالبة من مُطالبتيّ الإدخال هي true.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="AndClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="isEmailNotExist" TransformationClaimType="inputClaim1" />
    <InputClaim ClaimTypeReferenceId="isSocialAccount" TransformationClaimType="inputClaim2" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="presentEmailSelfAsserted" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • inputClaim1: صواب
    • inputClaim2: خطأ
  • مطالبات الإخراج:
    • outputClaim: خطأ

AssertBooleanClaimIsEqualToValue

يفحص تساوي القيم المنطقية لمطالبتين وطرح استثناء في حال لم تكن كذلك. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
inputClaim inputClaim منطقي المطالبة التي سيُتحقق منها.
InputParameter valueToCompareTo منطقي القيمة المطلوب مقارنتها (صواب أو خطأ).

يتم تنفيذ تحويل مطالبات AssertStringClaimsAreEqual دائمًا من ملف تعريف فني للتحققيتم استدعاؤه من قِبلملف تعريف فني ذاتي. بيانات تعريف التشكيل الجانبي التقنية تأكيد ذاتي UserMessageIfClaimsTransformationBooleanValueIsNotEqual يتحكم في رسالة الخطأ التي يقدمها التشكيل الجانبي التقني للمستخدم. يمكن ترجمة رسائل الخطأ

يوضح الرسم التخطيطي كيفية استخدام تحويل مطالبات AssertStringClaimsAreEqual.

Example of AssertBooleanClaimIsEqualToValue

يوضح تحويل المطالبات التالي كيفية التحقق من قيمة مطالبة منطقية بقيمة true. في حال كانت قيمة المطالبة accountEnabled خطأ، فستظهر رسالة خطأ.

<ClaimsTransformation Id="AssertAccountEnabledIsTrue" TransformationMethod="AssertBooleanClaimIsEqualToValue">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
  </InputParameters>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • outputClaim: خطأ
    • valueToCompareTo: صواب
  • النتيجة: خطأ طرح

استدعاء تحويل مطالبات AssertBooleanClaimIsEqualToValue

يستدعي ملف التعريف التقني Example-AssertBoolean تحويل المطالبات AssertAccountEnabledIsTrue.

<TechnicalProfile Id="Example-AssertBoolean">
  <DisplayName>Unit test</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="ComparisonResult" DefaultValue="false" />
  </OutputClaims>
  <OutputClaimsTransformations>
    <OutputClaimsTransformation ReferenceId="AssertAccountEnabledIsTrue" />
  </OutputClaimsTransformations>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>

يستدعي ملف التعريف التقني ذو التأكيد الذاتي ملف التعريف التقني Example-AssertBoolean للتحقق من الصحة.

<TechnicalProfile Id="SelfAsserted-AssertDateTimeIsGreaterThan">
  <DisplayName>Example</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="ContentDefinitionReferenceId">api.selfasserted</Item>
    <Item Key="UserMessageIfClaimsTransformationBooleanValueIsNotEqual">Custom error message if account is disabled.</Item>
  </Metadata>
  ...
  <ValidationTechnicalProfiles>
    <ValidationTechnicalProfile ReferenceId="Example-AssertBoolean" />
  </ValidationTechnicalProfiles>
</TechnicalProfile>

CompareBooleanClaimToValue

فحص القيمة المنطقية للمطالبة تساوي true أو false، ثم إرجاع نتيجة الضغط. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
InputClaim inputClaim منطقي المطالبة التي ستُقارن.
InputParameter valueToCompareTo منطقي القيمة المطلوب مقارنتها (صواب أو خطأ).
OutputClaim compareResult منطقي تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا.

مثال على CompareBooleanClaimToValue

يوضح تحويل المطالبات التالي كيفية التحقق من قيمة مطالبة منطقية بقيمة true. في حال كانت قيمة نوع المطالبة IsAgeOver21Years مساوية لـ true، فسيُرجع تحويل المطالبات true، وإن لم يكن كذلك فسيُرجع false.

<ClaimsTransformation Id="AssertAccountEnabled" TransformationMethod="CompareBooleanClaimToValue">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="IsAgeOver21Years" TransformationClaimType="inputClaim" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim  ClaimTypeReferenceId="accountEnabled" TransformationClaimType="compareResult"/>
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • outputClaim: خطأ
  • معلمات الإدخال:
    • valueToCompareTo: صواب
  • مطالبات الإخراج:
    • compareResult: خطأ

NotClaims

يحسب عملية Not لمطالبات الإدخال المنطقية ويُعين مطالبة الناتج مع نتيجة العملية. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
InputClaim inputClaim منطقي المطالبة التي يتعين تشغيلها.
OutputClaim outputClaim منطقي تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا (صواب أو خطأ).

مثال على NotClaims

يوضح تحويل المطالبات التالي كيفية تنفيذ النفي المنطقي للمطالبة.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • outputClaim: خطأ
  • مطالبات الإخراج:
    • outputClaim: صواب

OrClaims

يحسب Or لمُطالبتين منطقيتين ويُعين مطالبة الناتج مع نتيجة العملية. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
InputClaim inputClaim1 منطقي المطالبة الأولى للتقييم.
InputClaim inputClaim2 منطقي المطالبة الثانية للتقييم.
OutputClaim outputClaim منطقي تم استدعاء المطالبة التي ستُنتج بعد تحويل المطالبات هذا (صواب أو خطأ).

مثال على OrClaims

يوضح تحويل المطالبات التالي كيفية Or لمُطالبتين منطقيتين.

<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="OrClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="isLastTOSAcceptedNotExists" TransformationClaimType="inputClaim1" />
    <InputClaim ClaimTypeReferenceId="isLastTOSAcceptedGreaterThanNow" TransformationClaimType="inputClaim2" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="presentTOSSelfAsserted" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • inputClaim1: صواب
    • inputClaim2: خطأ
  • مطالبات الإخراج:
    • outputClaim: صحيح

الخطوات التالية

  • يمكنك العثور على المزيد من أمثلة تحويل المطالبات في مستودع GitHub لمجتمع متاجرة عمل-مستهلك في Microsoft Azure Active Directory