مشاركة عبر


تحويلات مطالبات الحسابات الاجتماعية

في Azure Active Directory B2C (Azure AD B2C)، يتم تخزين هويات الحساب الاجتماعي في إحدى سمات alternativeSecurityIds من نوع المطالبة alternativeSecurityIdCollection. وكل عنصر في alternativeSecurityIdCollection يحدد جهة الإصدار (اسم موفر الهوية، مثل facebook.com) وissuerUserId، وهو معرف مستخدم فريد للجهة المصدرة.

"alternativeSecurityIds": [{
    "issuer": "google.com",
    "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
  },
  {
    "issuer": "facebook.com",
    "issuerUserId": "MTIzNDU="
  }]

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

AddItemToAlternativeSecurityIdCollection

أضف AlternativeSecurityId إلى مطالبة alternativeSecurityIdCollection. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال العنصر سلسلة المطالبة التي ستضاف إلى مطالبة الناتج.
مطالبة إدخال مجموعة alternativeSecurityIdCollection المطالبة التي سيستخدمها تحويل المطالبات إذا كانت متوفرة في النهج. وإذا توفر تحويل المطالبات، فإنها تضيف item في نهاية المجموعة.
OutputClaim مجموعة alternativeSecurityIdCollection تم استدعاء المطالبة التي تُنتج بعد تحويل المطالبات هذا. المجموعة الجديدة التي تحتوي على كلا العنصرين من الإدخال collection وitem.

مثال على AddItemToAlternativeSecurityIdCollection

يربط المثال التالي هوية اجتماعية جديدة بحساب موجود. لربط هوية اجتماعية جديدة:

  1. في AAD-UserReadUsingAlternativeSecurityId ملفي التعريف التقنيين و AAD-UserReadUsingObjectId ، إخراج مطالبة المستخدم alternativeSecurityIds .
  2. اطلب من المستخدم تسجيل الدخول باستخدام أحد موفري الهوية غير المقترنين بهذا المستخدم.
  3. باستخدام تحويل المطالبات CreateAlternativeSecurityId أنشئ نوع مطالبة جديد لـ AlternativeSecurityId باسم AlternativeSecurityId2
  4. استدعِ تحويل مطالبات AddItemToAlternativeSecurityIdCollection لإضافة المطالبة AlternativeSecurityId2 إلى المطالبة AlternativeSecurityIds الموجودة.
  5. استمر في المطالبة replaceSecurityIds لحساب المستخدم
<ClaimsTransformation Id="AddAnotherAlternativeSecurityId" TransformationMethod="AddItemToAlternativeSecurityIdCollection">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="AlternativeSecurityId2" TransformationClaimType="item" />
    <InputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:

    • العنصر:

      {
          "issuer": "facebook.com",
          "issuerUserId": "MTIzNDU="
      }
      
    • المجموعة:

      [
          {
              "issuer": "live.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          }
      ]
      
  • مطالبات الناتج:

    • المجموعة:

      [
          {
              "issuer": "live.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          },
          {
              "issuer": "facebook.com",
              "issuerUserId": "MTIzNDU="
          }
      ]
      

CreateAlternativeSecurityId

إنشاء تمثيل JSON لخاصية alternativeSecurityId للمستخدم التي يمكن استخدامها في استدعاءات معرف Microsoft Entra. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات. لمزيد من المعلومات، راجع مخطط AlternativeSecurityId.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال المفتاح سلسلة المطالبة التي تُحدد معرّف المستخدم الفريد الذي يستخدمه مُوفر الهوية الاجتماعية.
مطالبة إدخال identityProvider سلسلة المطالبة التي تُحدد اسم موفر هوية الحساب الاجتماعي، مثل facebook.com.
OutputClaim alternativeSecurityId سلسلة تم استدعاء المطالبة التي تُنتج بعد تحويل المطالبات هذا. ويحتوي على معلومات حول هوية أحد مستخدمي الحسابات الاجتماعية. المُصدّر هو قيمة المطالبة identityProvider. issuerUserId هو قيمة المطالبة key بتنسيق base64.

مثال على CreateAlternativeSecurityId

استخدم تحويل المطالبات هذا لإنشاء مطالبة alternativeSecurityId. إذ تستخدمه جميع ملفات التعريف الفنية لموفر الهوية الاجتماعية، مثل Facebook-OAUTH. يتلقى تحويل المطالبات التالي معرف الحساب الاجتماعي للمستخدم واسم موفر الهوية. إخراج ملف التعريف الفني هذا هو تنسيق سلسلة JSON يمكن استخدامه في خدمات دليل Microsoft Entra.

<ClaimsTransformation Id="CreateAlternativeSecurityId" TransformationMethod="CreateAlternativeSecurityId">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="issuerUserId" TransformationClaimType="key" />
    <InputClaim ClaimTypeReferenceId="identityProvider" TransformationClaimType="identityProvider" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="alternativeSecurityId" TransformationClaimType="alternativeSecurityId" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • المفتاح: 12334
    • identityProvider: Facebook.com
  • مطالبات الإخراج:
    • alternativeSecurityId: { "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}

GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation

لإرجاع قائمة بجهات الإصدار من المطالبة alternativeSecurityIdCollection في المطالبة الجديدة stringCollection. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال alternativeSecurityIdCollection alternativeSecurityIdCollection المطالبة المراد استخدامها للحصول على قائمة موفري الهوية (المُصدّر).
OutputClaim identityProvidersCollection stringCollection تم استدعاء المطالبة التي تُنتج بعد تحويل المطالبات هذا. قائمة بمُوفري الهوية مقترنة بمطالبة الإدخال.

مثال على GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation

يقوم تحويل المطالبات التالية بقراءة مطالبة المستخدم alternativeSecurityIds واستخراج قائمة أسماء موفري الهوية المقترنة بهذا الحساب. استخدام الإخراج identityProvidersCollection لإظهار قائمة موفري الهوية المقترنة بالحساب للمستخدم. أو، في صفحة تحديد موفر الهوية، قم بتصفية قائمة موفري الهوية بناءً على مطالبة الإخراج identityProvidersCollection. لذلك، يمكن للمستخدم تحديد ربط هوية اجتماعية جديدة غير مرتبطة بالحساب بالفعل.

<ClaimsTransformation Id="ExtractIdentityProviders" TransformationMethod="GetIdentityProvidersFromAlternativeSecurityIdCollectionTransformation">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="alternativeSecurityIds" TransformationClaimType="alternativeSecurityIdCollection" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="identityProviders" TransformationClaimType="identityProvidersCollection" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:

    • alternativeSecurityIdCollection:

      [
          {
              "issuer": "google.com",
              "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"
          },
          {
              "issuer": "facebook.com",
              "issuerUserId": "MTIzNDU="
          }
      ]
      
  • مطالبات الناتج:

    • identityProvidersCollection: [ "facebook.com", "google.com" ]

RemoveAlternativeSecurityIdByIdentityProvider

لإزالة AlternativeSecurityId من مطالبة alternativeSecurityIdCollection. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال identityProvider سلسلة المطالبة التي تحتوي على اسم مُوفر الهوية المراد إزالته من المجموعة.
مطالبة إدخال مجموعة alternativeSecurityIdCollection المطالبة التي يستخدمها تحويل المطالبات. يقوم تحويل المطالبات بإزالة identityProvider من المجموعة.
OutputClaim مجموعة alternativeSecurityIdCollection تم استدعاء المطالبة التي تُنتج بعد تحويل المطالبات هذا. المجموعة الجديدة، بعد إزالة identityProvider من المجموعة.

مثال على RemoveAlternativeSecurityIdByIdentityProvider

يُلغي المثال التالي ربط إحدى الهويات الاجتماعية بحساب موجود. لفك ارتباط الهوية الاجتماعية:

  1. في AAD-UserReadUsingAlternativeSecurityId ملفي التعريف التقنيين و AAD-UserReadUsingObjectId ، إخراج مطالبة المستخدم alternativeSecurityIds .
  2. اطلب من المستخدم تحديد الحساب الاجتماعي الذي يجب إزالته من موفري هوية القائمة المقترنين بهذا المستخدم.
  3. استدعِ ملف التعريف الفني لتحويل المطالبات الذي يستدعي تحويل المطالبات RemoveAlternativeSecurityIdByIdentityProvider، التي أزالت الهوية الاجتماعية المحددة، وذلك باستخدام اسم موفر الهوية.
  4. استمر في المطالبة replaceSecurityIds لحساب المستخدم.
<ClaimsTransformation Id="RemoveAlternativeSecurityIdByIdentityProvider" TransformationMethod="RemoveAlternativeSecurityIdByIdentityProvider">
    <InputClaims>
        <InputClaim ClaimTypeReferenceId="secondIdentityProvider" TransformationClaimType="identityProvider" />
        <InputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
    </InputClaims>
    <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="AlternativeSecurityIds" TransformationClaimType="collection" />
    </OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
  • مطالبات الإدخال:
    • identityProvider: facebook.com
    • مجموعة: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" }, { "issuer": "facebook.com", "issuerUserId": "MTIzNDU=" } ]
  • مطالبات الإخراج:
    • المجموعة: [ { "issuer": "live.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw" } ]

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

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