إعداد تسجيل الدخول لمؤسسة Microsoft Entra معينة في Azure Active Directory B2C

توضح هذه المقالة كيفية تمكين تسجيل الدخول للمستخدمين من مؤسسة Microsoft Entra معينة باستخدام تدفق مستخدم في Azure AD B2C.

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

إشعار

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

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

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

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

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

تسجيل تطبيق Microsoft Entra

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

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

  2. إذا كان لديك حق الوصول إلى عدة مستأجرين، فحدد رمز الإعدادات في القائمة العلوية للتبديل إلى مستأجر معرف Microsoft Entra من قائمة الدلائل + الاشتراكات.

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

  4. في جزء القائمة اليسرى، ضمن إدارة، حدد تسجيلات التطبيقات.

  5. حدد + New registration.

  6. أدخل اسماً لتطبيقك. على سبيل المثال، Azure AD B2C App.

  7. اقبل التحديد الافتراضي للحسابات في هذا الدليل المؤسسي فقط (الدليل الافتراضي فقط - مستأجر واحد) لهذا التطبيق.

  8. للحصول على معرّف URI لإعادة التوجيه، اقبل قيمة الويب، وأدخل معرّف URL التالي بأحرف صغيرة، حيثما يتم استبدال your-B2C-tenant-name باسم مستأجر Azure AD B2C.

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

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

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

  9. حدد تسجيل. تسجيل معرف التطبيق (العميل) للاستخدام في خطوة لاحقة.

  10. حدد Certificates & secrets، ثم حدد New client secret.

  11. أدخل Description للسر، وحدد انتهاء الصلاحية، ثم حدد Add. سجل Value السر لاستخدامها في خطوة لاحقة.

تكوين معرف Microsoft Entra كموفر هوية

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

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

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

  4. أدخل اسمًا. على سبيل المثال، أدخل معرف Contoso Microsoft Entra.

  5. بالنسبة إلى عنوان URL لبيانات التعريف، أدخل عنوان URL التالي مع {tenant} استبدال باسم مجال مستأجر Microsoft Entra الخاص بك:

    https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration
    

على سبيل المثال، https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration. إذا كنت تستخدم مجالاً مخصصاً، فاستبدل contoso.com بنطاقك الخاص في https://login.microsoftonline.com/contoso.com/v2.0/.well-known/openid-configuration.

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

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

  3. للتعرف على للنطاق، أدخل openid profile.

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

  5. (اختياري) للتعرف على تلميح المجال، أدخل contoso.com. للمزيد من المعلومات، راجع إعداد تسجيل الدخول المباشر باستخدام Azure Active Directory B2C.

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

    • معرّف المستخدم: oid
    • Display name: الاسم
    • الاسم المحدد: given_name
    • اللقب: family_name
    • البريد الإلكتروني: email
  7. حدد حفظ.

إضافة موفر هوية Microsoft Entra إلى تدفق المستخدم

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

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

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

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

تحتاج إلى تخزين مفتاح التطبيق الذي قمت بإنشائه في مستأجر Microsoft Azure Active Directory 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. أدخِل اسمًا لمفتاح النهج. على سبيل المثال، ContosoAppSecret. تُضاف البادئة B2C_1A_ تلقائياً إلى اسم المفتاح عند إنشاؤه، لذا فإن مرجعه في XML في القسم التالي هو إلى B2C_1A_ContosoAppSecret.
  7. في Secret، أدخل قيمة Client secret التي سجلتها سابقاً.
  8. بالنسبة إلى Key usage، حدد Signature.
  9. حدد إنشاء.

تكوين معرف Microsoft Entra كموفر هوية

لتمكين المستخدمين من تسجيل الدخول باستخدام حساب Microsoft Entra، تحتاج إلى تعريف معرف Microsoft Entra كموفر مطالبات يمكن ل Azure AD B2C الاتصال به من خلال نقطة نهاية. توفر نقطة النهاية مجموعة من المطالبات التي يتم استخدامها عن طريق Azure AD B2C للتحقق من مصادقة مستخدمٍ معينٍ.

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

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

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

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

    <ClaimsProvider>
      <Domain>Contoso</Domain>
      <DisplayName>Login using Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AADContoso-OpenIdConnect">
          <DisplayName>Contoso Employee</DisplayName>
          <Description>Login with your Contoso account</Description>
          <Protocol Name="OpenIdConnect"/>
          <Metadata>
            <Item Key="METADATA">https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration</Item>
            <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_ContosoAppSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/>
            <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid"/>
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. أسفل العنصر ClaimsProvider، قم بتحديث قيمة المجال إلى قيمة فريدة يمكن استخدامها لتمييزه عن غيره من موفري الهوية. على سبيل المثالContoso. لا تضع .com في نهاية إعداد المجال.

  5. أسفل العنصر ClaimsProvider، قم بتحديث القيمة DisplayName إلى اسم مألوف لموفر المطالبات. هذه القيمة غير مستخدمة حالياً.

تحديث ملف التعريف التقني

للحصول على رمز مميز من نقطة نهاية Microsoft Entra، تحتاج إلى تعريف البروتوكولات التي يجب أن يستخدمها Azure AD B2C للاتصال بمعرف Microsoft Entra. يتم ذلك داخل عنصر TechnicalProvider في ClaimsProvider.

  1. تحديث معرّف العنصر TechnicalProfile. يستخدم هذا المعرّف للإشارة إلى ملف التعريف التقني من أجزاء أخرى من النهج، AADContoso-OpenIdConnect مثلا.
  2. قم بتحديث قيمة DisplayName. سيتم عرض هذه القيمة على زر تسجيل الدخول على شاشة تسجيل الدخول.
  3. قم بتحديث قيمة الوصف.
  4. يستخدم معرف Microsoft Entra بروتوكول الاتصال OpenID، لذا تأكد من أن قيمة البروتوكول هي OpenIdConnect.
  5. قم بتعيين قيمة METADATA إلى https://login.microsoftonline.com/tenant-name.onmicrosoft.com/v2.0/.well-known/openid-configuration، حيث tenant-name هو اسم مستأجر Microsoft Entra. على سبيل المثال، https://login.microsoftonline.com/contoso.onmicrosoft.com/v2.0/.well-known/openid-configuration
  6. قم بتعيين client_id إلى معرّف التطبيق من تسجيل التطبيق.
  7. أسفل CryptographicKeys، قم بتحديث قيمة StorageReferenceId إلى اسم مفتاح النهج الذي قمت بإنشائه مسبقاً. على سبيل المثال، B2C_1A_ContosoAppSecret.

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

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

  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="AzureADContosoExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADContosoExchange" TechnicalProfileReferenceId="AADContoso-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. من صفحة التسجيل أو تسجيل الدخول، حدد Contoso Employee لتسجيل الدخول باستخدام حساب Microsoft Entra Contoso.

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

[اختياري] تكوين المطالبات الاختيارية

إذا كنت ترغب في الحصول على family_name المطالبات و given_name من معرف Microsoft Entra، يمكنك تكوين مطالبات اختيارية لتطبيقك في واجهة مستخدم مدخل Microsoft Azure أو بيان التطبيق. لمزيد من المعلومات، راجع كيفية تقديم مطالبات اختيارية لتطبيق Microsoft Entra.

  1. سجل الدخول إلى مدخل Microsoft Azure باستخدام مستأجر Microsoft Entra التنظيمي. أو إذا كنت قد سجلت الدخول بالفعل، فتأكد من أنك تستخدم الدليل الذي يحتوي على مستأجر Microsoft Entra التنظيمي (على سبيل المثال، Contoso):
    1. حدّد أيقونة الدلائل + الاشتراكات في شريط أدوات المدخل.
    2. في إعدادات المدخل | صفحة الدلائل + الاشتراكات ، وابحث عن دليل Microsoft Entra في قائمة اسم الدليل، ثم حدد تبديل.
  2. في مدخل Microsoft Azure، ابحث عن Microsoft Entra ID وحدده.
  3. في جزء القائمة اليسرى، ضمن إدارة، حدد تسجيلات التطبيقات.
  4. حدد التطبيق الذي تريد تكوين المطالبات الاختيارية له في القائمة، مثل Azure AD B2C App.
  5. من قسم Manage، حدد Token configuration.
  6. حدد إضافة مطالبة اختيارية.
  7. للتعرف على نوع الرمز المميز، حدّد المعرّف.
  8. حدد المطالبات الاختيارية التي تريد إضافتها، family_name وgiven_name.
  9. حدد إضافة. إذا ظهر إذن تشغيل ملف تعريف Microsoft Graph (مطلوب لكي تظهر المطالبات في الرمز المميز)، فقم بتمكينه، ثم حدد إضافة مرة أخرى.

[اختياري] تحقق من أصالة تطبيقك

تساعد ميزة التحقق من الناشر المستخدمين في فهم أصالة التطبيق الذي سجلته. يعني التطبيق الذي تم التحقق منه أن ناشر التطبيق قد تحقق من هويته باستخدام شبكة شركاء Microsoft (MPN). تعرف على كيفية وضع علامة على تطبيقك باعتباره ناشراً تم التحقق منه.

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

تعرف على كيفية تمرير رمز Microsoft Entra المميز إلى التطبيق الخاص بك.