قم بإعداد التسجيل وتسجيل الدخول باستخدام حسابAzure AD B2C من مستأجر Azure AD B2C آخر

قبل أن تبدأ استخدم اختر نوع النهجالمحدد لاختيار نوع النهج التي تقوم بإعدادها. يوفر Azure Active Directory B2C طريقتين لتحديد كيفية تفاعل المستخدمين مع تطبيقاتك: من خلال تدفقات محددة مسبقا للمستخدمين أو من خلال سياسات مخصصة قابلة للتكوين بشكل كامل. تختلف الخطوات المطلوبة في هذه المقالة لكل أسلوب.

إشعار

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

نظرة عامة

توضح هذه المقالة كيفية إعداد اتحاد مع مستأجرAzure AD B2C آخر. عندما تكون تطبيقاتك محمية باستخدام Azure AD B2C، فإن هذا يسمح للمستخدمين من Azure AD B2C الأخرى بتسجيل الدخول باستخدام حساباتهم الحالية. في الرسم التخطيطي التالي، يمكن للمستخدمين تسجيل الدخول إلى تطبيق محمي بواسطة Azure AD B2C الخاص ب Contoso، باستخدام حساب يديره مستأجر Azure AD B2C الخاص ب Fabrikam. في هذه الحالة، يجب أن يكون حساب المستخدم موجودا في مستأجر Fabrikam قبل أن يحاول تطبيق محمي بواسطة Azure AD B2C من Contoso تسجيل الدخول.

Azure AD B2C federation with another Azure AD B2C tenant

المتطلبات الأساسية

التحقق من مجال ناشر للتطبيق

اعتباراً من نوفمبر 2020، تظهر تسجيلات التطبيقات الجديدة بصفة غير متحقق منها في موجه موافقة المستخدم ما لم يتم التحقق من نطاق ناشر التطبيقو تم التحقق من هوية الشركة باستخدام شبكة شركاء Microsoft والمرتبطة بالتطبيق. (تعرف على المزيد حول هذا التغيير.) لاحظ أنه بالنسبة لتدفقات مستخدم Azure AD B2C، يظهر مجال الناشر فقط عند استخدام حساب Microsoft أو مستأجر Microsoft Entra آخر كموفر الهوية. لتلبية هذه المتطلبات الجديدة، قم بما يلي:

  1. تحقق من هوية شركتك باستخدام حساب شبكة شركاء Microsoft (MPN). تتحقق هذه العملية من المعلومات المتعلقة بشركتك وجهة الاتصال الرئيسية لشركتك.
  2. أكمل عملية التحقق من الناشر لربط حساب MPN الخاص بك بتسجيل التطبيق باستخدام أحد الخيارات التالية:

قم بإنشاء تطبيق Azure AD B2C

لتمكين تسجيل الدخول للمستخدمين الذين لديهم حساب من مستأجر Azure AD B2C آخر (على سبيل المثال، Fabrikam)، في Azure AD B2C (على سبيل المثال، Contoso):

  1. إنشاء تدفق مستخدم أو نهج مخصص.
  2. ثم قم بإنشاء تطبيق في Azure AD B2C، كما هو موضح في هذا القسم.

لإنشاء تطبيق.

  1. سجل الدخول إلى مدخل Azure.

  2. إذا كان لديك حق الوصول إلى عدة مستأجرين، فحدد رمز الإعدادات في القائمة العلوية للتبديل إلى مستأجر Azure AD B2C من قائمة Directories + subscriptions.

  3. في مدخل Microsoft Azure، ابحث عن Azure AD B2C وحددها.

  4. حدد App registrations، ثم حدد New registration.

  5. أدخل Name للتطبيق. على سبيل المثال، ContosoApp.

  6. ضمن أنواع الحسابات المدعومة، حدد الحسابات في أي موفر هوية أو دليل تنظيمي (لمصادقة المستخدمين بعمليات سير عمل المستخدمين).

  7. ضمن معرف URI لإعادة التوجيه، حدد الويب، ثم أدخل عنوان URL التالي بأحرف صغيرة، حيث تم استبدال your-B2C-tenant-name باسم مستأجر Azure AD B2C (على سبيل المثال، Contoso).

    https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
    

    على سبيل المثال، https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/authresp.

    إذا كنت تستخدم مجالاً مخصصاً، أدخل https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. استبدلyour-domain-name باسم المجال المخصص لك، وyour-tenant-nameباسم المستأجر لديك.

  8. ضمن Permissions، حدد خانة الاختيار Grant admin consent to openid and offline_access permissions .

  9. حدد تسجيل.

  10. في صفحة Azure AD B2C - تسجيلات التطبيقات، حدد التطبيق الذي أنشأته، على سبيل المثال ContosoApp.

  11. تسجيل معرف التطبيق (العميل) المعروض في صفحة النظرة العامة على التطبيق. تحتاج إلى هذا عند تكوين موفر الهوية في القسم التالي.

  12. من القائمة اليسرى، ضمن Manage ، حدد Certificates & secrets.

  13. حدد سر عميل جديد.

  14. أدخل وصفاً لسر العميل في خانة Description . ليكن clientsecret1 على سبيل المثال.

  15. من Expires ، حدد مدة صلاحية السر، ثم حدد Add .

  16. سجّل قيمةالسر. تحتاج إلى هذا عند تكوين موفر الهوية في القسم التالي.

قم بتكوين Azure AD B2C كموفر هوية

  1. سجل الدخول إلى مدخل Azure.

  2. إذا كان لديك حق الوصول إلى عدة مستأجرين، فحدد رمز الإعدادات في القائمة العلوية للتبديل إلى مستأجر Azure AD B2C من قائمة Directories + subscriptions.

  3. اختر كل الخدمات في الزاوية العلويةِ اليسرى من مدخل Microsoft Azure، ثم ابحث عن Azure AD B2Cوحدده.

  4. حدّد Identity providers، ثم حدّد موفر OpenID Connect جديد.

  5. أدخل اسمًا. على سبيل المثال، أدخل Fabrikam.

  6. بالنسبة إلى عنوان URL لبيانات التعريف، أدخل عنوان URL التالي لاستبدال {tenant} باسم النطاق الخاص بمستأجر Azure AD B2C (على سبيل المثال، Fabrikam). {policy} استبدل باسم النهج الذي قمت بتكوينه في المستأجر الآخر:

    https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration
    

    على سبيل المثال، https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.

  7. بالنسبة إلى معرف العميل، أدخل معرف التطبيق الذي قمت بتسجيله مسبقا.

  8. في Client secret، أدخِل سر العميل التي سجلته مسبقاً.

  9. بالنسبة إلى النطاق، أدخل openid.

  10. اترك القيم الافتراضية لنوع الاستجابة، ووضع الاستجابة.

  11. (اختياري) بالنسبة إلى تلميح المجال، أدخل اسم المجال الذي تريد استخدامه لتسجيل الدخول المباشر. على سبيل المثال، fabrikam.com.

  12. ضمن تعيين مطالبات موفر الهوية، حدّد المطالبات التالية:

    • User ID: فرعي
    • Display name: الاسم
    • الاسم المحدد: given_name
    • اللقب: family_name
    • البريد الإلكتروني: email
  13. حدد حفظ.

أضف موفر هوية Azure AD B2C إلى تدفق مستخدم

  1. في مستأجر Azure AD B2C، حدّد User flows.
  2. انقر فوق تدفق المستخدم الذي تريد إضافة موفر هويةAzure AD B2C.
  3. ضمن موفري الهوية الاجتماعية، حدد Fabrikam.
  4. حدد حفظ.
  5. لاختبار سياستك، حدّد "Run user flow".
  6. للتطبيق، حدد تطبيق الويب المسمى testapp1 الذي قمت بتسجيله مسبقًا. عنوان URL الرد يجب أن يعرض https://jwt.ms.
  7. حدّد الزر تشغيل تدفق المستخدم.
  8. من صفحة الاشتراك أو تسجيل الدخول، حدد Fabrikam لتسجيل الدخول مع مستأجر Azure AD B2C الآخر.

إذا نجحت عملية تسجيل الدخول، فستتم إعادة توجيه المستعرض الخاص بك إلى، https://jwt.ms، والذي يعرض محتويات الرمز المميز الذي تم إرجاعه بواسطة Azure AD B2C.

إنشاء مفتاح نهج

تحتاج إلى تخزين مفتاح التطبيق الذي أنشأته مسبقًا في مستأجر Azure AD B2C.

  1. إذا كان لديك حق الوصول إلى عدة مستأجرين، فحدد رمز الإعدادات في القائمة العلوية للتبديل إلى مستأجر Azure AD B2C من قائمة Directories + subscriptions.
  2. اختر كل الخدمات في الزاوية العلويةِ اليسرى من مدخل Microsoft Azure، ثم ابحث عن Azure AD B2Cوحدده.
  3. ضمن Policies، حدد Identity Experience Framework.
  4. حدد Policy keys ثم حدد Add.
  5. بالنسبة للخيارات، اختر Manual .
  6. أدخِل اسمًا لمفتاح النهج. على سبيل المثال، FabrikamAppSecret. تتم إضافة البادئة B2C_1A_ تلقائياً إلى اسم مفتاحك عند إنشائه، لذا فإن مرجعها في XML في القسم التالي هو B2C_1A_FabrikamAppSecret.
  7. في Secret، أدخل سر العميل الذي سجلته مسبقاً.
  8. بالنسبة إلى Key usage، حدد Signature.
  9. حدد إنشاء.

قم بتكوين Azure AD B2C كموفر هوية

لتمكين المستخدمين من تسجيل الدخول باستخدام حساب من مستأجر Azure AD B2C آخر (Fabrikam)، تحتاج إلى تعريف Azure AD B2C الآخر كموفر مطالبات يمكن لـAzure AD B2C التواصل معه من خلال نقطة نهاية. توفر نقطة النهاية مجموعة من المطالبات التي يتم استخدامها عن طريق Azure AD B2C للتحقق من مصادقة مستخدمٍ معينٍ.

يمكنك تعريف Azure AD B2C كموفر مطالبات عن طريق إضافة Azure AD B2C إلى عنصر ClaimsProvider في ملف ملحق النهج الخاص بك.

  1. افتح الملف TrustFrameworkExtensions.xml.

  2. ابحث عن عنصر ClaimsProviders. إذا لم يكن موجودًا، فقم بإضافته تحت عنصر الجذر.

  3. قم بإضافة ClaimsProvider جديد على النحو التالي:

    <ClaimsProvider>
      <Domain>fabrikam.com</Domain>
      <DisplayName>Federation with Fabrikam tenant</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AzureADB2CFabrikam-OpenIdConnect">
        <DisplayName>Fabrikam</DisplayName>
        <Protocol Name="OpenIdConnect"/>
        <Metadata>
          <!-- Update the Client ID below to the Application ID -->
          <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
          <!-- Update the metadata URL with the other Azure AD B2C tenant name and policy name -->
          <Item Key="METADATA">https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration</Item>
          <Item Key="UsePolicyInRedirectUri">false</Item>
          <Item Key="response_types">code</Item>
          <Item Key="scope">openid</Item>
          <Item Key="response_mode">form_post</Item>
          <Item Key="HttpBinding">POST</Item>
        </Metadata>
        <CryptographicKeys>
          <Key Id="client_secret" StorageReferenceId="B2C_1A_FabrikamAppSecret"/>
        </CryptographicKeys>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
          <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
          <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
          <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
          <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
          <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss"  />
          <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          <OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails"/>    
        </OutputClaims>
        <OutputClaimsTransformations>
          <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
          <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
          <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
        </OutputClaimsTransformations>
        <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
      </TechnicalProfile>
     </TechnicalProfiles>
    </ClaimsProvider>
    
  4. قم بتحديث عناصر XML التالية بالقيمة ذات الصلة:

    عنصر XML القيمة‬
    ClaimsProvider\Domain اسم المجال المستخدم لتسجيل الدخول المباشر. أدخل اسم المجال الذي تريد استخدامه في تسجيل الدخول المباشر. على سبيل المثال، fabrikam.com.
    TechnicalProfile\DisplayName سيتم عرض هذه القيمة على زر تسجيل الدخول على شاشة تسجيل الدخول. على سبيل المثال، Fabrikam.
    Metadata\client_id معرّف التطبيق لموفر الهوية. قم بتحديث معرف العميل بمعرف التطبيق الذي قمت بإنشائه مسبقًا في مستأجر Azure AD B2C الآخر.
    Metadata\METADATA عنوان URL يشير إلى مستند تكوين موفر هويةOpenID Connect، والذي يُعرف أيضًا بنقطة نهاية التكوين المعروفة OpenID. أدخل عنوان URL التالي مع {tenant} استبدال باسم المجال لمستأجر Azure AD B2C الآخر (Fabrikam). {tenant} استبدل باسم النهج الذي قمت بتكوينه في المستأجر الآخر، و {policy] باسم النهج: https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration. على سبيل المثال، https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.
    مفاتيح التشفير تحديث قيمة StorageReferenceId إلى اسم مفتاح النهج الذي قمت بإنشائه سابقا. على سبيل المثال، B2C_1A_FabrikamAppSecret.

إضافة الرحلة الخاصة بالمستخدم

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

  1. من حزمة البداية، افتح المَلف TrustFrameworkBase.xml.
  2. ابحث عن المحتويات الكاملة لعنصر UserJourney الذي يتضمن Id="SignUpOrSignIn" وانسخها.
  3. افتح TrustFrameworkExtensions.xml وابحث عن عنصر UserJourneys. إذا لم يكن العنصر موجودًا، فأضف عنصرًا.
  4. الصق المحتوى الكامل لعنصر UserJourney الذي نسخته كعنصر تابع لعنصر UserJourneys.
  5. أعِد تسمية المعرف الخاص بالرحلة. على سبيل المثال، Id="CustomSignUpSignIn".

إضافة موفر الهوية إلى الرحلة

الآن بعد أن أصبحت لديك رحلة مستخدم، أضف موفر الهوية الجديد إلى رحلة المستخدم. تضيف أولاً الزر الخاص بتسجيل الدخول، ثم تربط الزر بإجراءٍ ما. الإجراء هو ملف التعريف الفني الذي قمت بإنشائه مسبقًا.

  1. ابحث عن عنصر خطوة التنسيق الذي يتضمن Type="CombinedSignInAndSignUp"، أو Type="ClaimsProviderSelection" في الرحلة. عادةَ ما تكون الخطوة الأولى للتزامن. يحتوي عنصر ClaimsProviderSelections على قائمة موفري الهوية التي يمكن للمستخدم تسجيل الدخول من خلالها. يتحكم ترتيب العناصر في ترتيب أزرار تسجيل الدخول التي يتم عرضها للمستخدم. أضف عنصر XML ClaimsProviderSelection. تعيين قيمة TargetClaimsExchangeId إلى اسم مألوف.

  2. في خطوة التنسيق التالية، أضف عنصر ClaimsExchange . قم بتعيين المعرف إلى قيمة معرف تبادل المطالبات الهدف. وقم بتحديث قيمة TechnicalProfileReferenceId لمعرف ملف التعريف الفني الذي أنشأته مسبقاً.

يوضح XML التالي أول خطوتين للتنسيق لرحلة المستخدم من خلال موفر الهوية:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="AzureADB2CFabrikamExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADB2CFabrikamExchange" TechnicalProfileReferenceId="AzureADB2CFabrikam-OpenIdConnect" />
  </ClaimsExchanges>
</OrchestrationStep>

تكوين نهج جهة الاعتماد

يحدد نهج جهة الاعتماد، على سبيل المثال SignUpSignIn.xml، رحلة المستخدم التي سيقوم Azure AD B2C بتنفيذها. ابحث عن العنصر DefaultUserJourney ضمن جهة الاعتماد. قم بتحديث ReferenceId ليطابق معرّف رحلة المستخدم، الذي أضفت فيه موفر الهوية.

في المثال التالي، بالنسبة إلى CustomSignUpSignInرحلة المستخدم، تم تعيين ReferenceId إلى CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

تحميل النهج المخصص

  1. سجل الدخول إلى مدخل Azure.
  2. حدد مرشح «الدليل+الاشتراك»في القائمة العلوية، ثم حدد الدليل الذي يحتوي على مستأجر Azure AD B2C.
  3. في مدخل Microsoft Azure، ابحث عن Azure AD B2C وحددها.
  4. ضمن Policies، حدد Identity Experience Framework.
  5. حدّد Upload Custom Policy، ثم قم بتحميل ملفي النهج اللذين قمت بتغييرهما بالترتيب التالي: نهج التوسيع، على سبيل المثال TrustFrameworkExtensions.xml، ثم نهج جهة الاعتماد، مثل SignUpSignIn.xml.

اختبار النهج المخصص لديك

  1. حدد نهج جهة الاعتماد، على سبيل المثالB2C_1A_signup_signin.
  2. للوصول إلى التطبيق، حدّد تطبيق الويب الذي قمت بتسجيله مسبقاً. عنوان URL الرد يجب أن يعرض https://jwt.ms.
  3. حدّدالتشغيل الآن الزر.
  4. من صفحة الاشتراك أو تسجيل الدخول، حدد Fabrikam لتسجيل الدخول مع مستأجر Azure AD B2C الآخر.

إذا نجحت عملية تسجيل الدخول، فستتم إعادة توجيه المستعرض الخاص بك إلى، https://jwt.ms، والذي يعرض محتويات الرمز المميز الذي تم إرجاعه بواسطة Azure AD B2C.

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

تعرف على كيفية تمرير رمز Azure AD B2C المميز الآخر إلى تطبيقك.