إعداد الاشتراك وتسجيل الدخول باستخدام حساب Microsoft باستخدام دليل Azure النشط B2C

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

إشعار

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

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

إنشاء تطبيق حساب Microsoft

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

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

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

  3. اختر All services في الزاوية العلوية اليسرى من مدخل Azure، ثم ابحث عن App registrations وحددها.

  4. حدد تسجيل جديد.

  5. أدخل اسماً لتطبيقك. على سبيل المثال، MSAapp1.

  6. ضمن أنواع الحسابات المدعومة، حدد حسابات Microsoft الشخصية (مثل Skype وXbox).

    لمزيد من المعلومات حول تحديدات أنواع الحسابات المختلفة، راجع تشغيل سريع: تسجيل تطبيق باستخدام نظام هوية Microsoft.

  7. ضمن إعادة توجيه URI (اختياري)، حدد ويب وأدخل https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. إذا كنت تستخدم مجالاً مخصصاً، أدخل https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. استبدل your-tenant-name باسم مستأجر Azure AD B2C الخاص بك، و your-domain-name بالمجال المخصص الخاص بك.

  8. حدد Register

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

  10. حددشهادة&البيانات السرية

  11. حدد New client secret

  12. أدخل وصف البيانات السرية، على سبيل المثال كلمة مرور التطبيق 1 ثم انقر فوق إضافة.

  13. قم بتسجيل كلمة مرور التطبيق الموضحة في العمود Value. أنت بحاجة إلى بيانات العميل السرية عند تكوين موفر الهوية في القسم التالي.

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

  1. سجّل الدخول إلى مدخل Azure بصفتك المسؤول العام عن مستأجر Azure AD B2C.
  2. إذا كان لديك حق الوصول إلى عدة مستأجرين، فحدد رمز الإعدادات في القائمة العلوية للتبديل إلى مستأجر Azure AD B2C من قائمة Directories + subscriptions.
  3. اختر All services في الزاوية العلوية اليسرى من مدخل Microsoft Azure، ثم ابحث عن Azure AD B2C وحدده.
  4. حدد Identity providers ثم حدد Microsoft Account.
  5. أدخل اسمًا. على سبيل المثال: MSA.
  6. بالنسبة إلى معرف العميل، أدخل معرف التطبيق (العميل) لتطبيق Microsoft Entra الذي قمت بإنشائه سابقا.
  7. بالنسبة إلى بيانات العميل، أدخل بيانات العميل التي قمت بتسجيلها.
  8. حدد حفظ.

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

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

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

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

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

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

  1. سجل الدخول إلى مدخل Azure. ابحث عن Microsoft Entra ID وحدده.
  2. من قسم Manage، حدد App registrations.
  3. حدد التطبيق الذي تريد أن تكوّن المطالبات الاختيارية له في القائمة.
  4. من القسم إدارة، حدّد تكوين الرمز المميز (معاينة).
  5. حدد إضافة مطالبة اختيارية.
  6. حدد نوع الرمز المميز الذي ترغب في تكوينه.
  7. حدد المطالبات الاختيارية التي ترغب في إضافتها.
  8. انقر فوق إضافة.

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

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

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

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

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

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

  1. افتح ملف النهج TrustFrameworkExtensions.xml.

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

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

    <ClaimsProvider>
      <Domain>live.com</Domain>
      <DisplayName>Microsoft Account</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="MSA-MicrosoftAccount-OpenIdConnect">
          <DisplayName>Microsoft Account</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="ProviderName">https://login.live.com</Item>
            <Item Key="METADATA">https://login.live.com/.well-known/openid-configuration</Item>
            <Item Key="response_types">code</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid profile email</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="client_id">Your Microsoft application client ID</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_MSASecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
            <OutputClaim ClaimTypeReferenceId="email" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. استبدل قيمة client_id بمعرف التطبيق (العميل) لتطبيق Microsoft Entra الذي سجلته سابقا.

  5. احفظ الملف.

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

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

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

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

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="MicrosoftAccountExchange" TechnicalProfileReferenceId="MSA-MicrosoftAccount-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. من صفحة الاشتراك أو تسجيل الدخول، حدد Microsoft لتسجيل الدخول باستخدام حساب Microsoft.

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