إعداد التسجيل وتسجيل الدخول بحساب SwissID باستخدام Azure Active Directory لمتاجرة عمل-مستهلك

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

في هذه المقالة، يمكنك معرفة كيفية توفير الاشتراك و تسجيل الدخول للعملاء الذين لديهم حسابات SwissID في التطبيقات الخاصة بك باستخدام Azure Active Directory لمتاجرة عمل-مستهلك (Azure AD B2C). إضافة SwissID إلى تدفقات المستخدم أو النهج المخصص باستخدام بروتوكول OpenID الاتصال. لمزيد من المعلومات، راجع إرشادات تكامل SwissID - OpenID Connect.

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

إنشاء تطبيق SwissID

لتمكين تسجيل الدخول للمستخدمين الذين لديهم حساب SwissID في Azure AD لمتاجرة عمل-مستهلك تحتاج إلى إنشاء تطبيق. لإنشاء تطبيق SwissID اتبع الخطوات التالية:

  1. اتصل بدعم شركاء الأعمال SwissID.

  2. بعد الاشتراك مع SwissID، قم بتوفير معلومات حول مستأجر Azure AD لمتاجرة عمل-مستهلك:

    مفتاح إشعار
    عنوان URI لإعادة التوجيه‬ قدم https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp معرف الموارد المنتظم URI. إذا كنت تستخدم مجالاً مخصصاً، أدخل https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. استبدال your-tenant-nameباسم المستأجر الخاص بك، your-domain-nameوبمجالك المخصص.
    أسلوب مصادقة نقطة النهاية المميزة client_secret_post
  3. بعد تسجيل التطبيق، سيتم توفير المعلومات التالية من SwissID. استخدم هذه المعلومات لتكوين تدفق المستخدم الخاص بك أو النهج المخصص.

    مفتاح إشعار
    البيئة نقطة نهاية التكوين المعروفة ل SwissID OpenId. على سبيل المثال، https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration.
    معرف العميل معرف العميل SwissID. على سبيل المثال، 11111111-2222-3333-4444-555555555555.
    كلمة المرور سر العميل SwissID.

قم بتكوين SwissID باعتباره موفر هوية

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

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

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

  4. أدخل اسمًا. على سبيل المثال، أدخل SwissID.

  5. بالنسبة عنوان URL لبيانات التعريف، أدخل نقطة نهاية التكوين المعروفة ل URL SwissID OpenId. على سبيل المثال:

    https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration
    
  6. بالنسبةلمعرف العميل: أدخل معرف عميل SwissID.

  7. بالنسبةلمعرف العميل: أدخل سر عميل SwissID.

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

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

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

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

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

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

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

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

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

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

ستحتاج إلى تخزين بيانات العميل السرية التي تلقيتها من SwissID في مستأجر دليل Azure النشط لمتاجرة عمل-مستهلك.

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

قم بتكوين SwissID باعتباره موفر هوية

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

يمكنك تعريف حساب SwissID كموفر مطالبات بإضافته إلى عنصر ClaimsProviders في ملف ملحق النهج الخاص بك.

  1. افتح TrustFrameworkExtensions.xml.

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

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

    <ClaimsProvider>
      <Domain>SwissID.com</Domain>
      <DisplayName>SwissID</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SwissID-OpenIdConnect">
          <DisplayName>SwissID</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration</Item>
            <Item Key="client_id">Your Swiss client ID</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile email</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_SwissIDSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="email" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateDisplayName" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. عيّنclient_id لمعرّف عميل SwissID.

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

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

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

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

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

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

الانتقال إلى الإنتاج

يوفر SwissID IdP بيئات ما قبل التشغيل وبيئة التشغيل. يستخدم التكوين الموضح في هذه المقالة بيئة ما قبل التشغيل. لاستخدام بيئة التشغيل، اتبع الخطوات التالية:

  1. تواصل مع دعم SwissId لبيئة التشغيل.
  2. تحديث تدفق المستخدم الخاص بك أو النهج المخصص باستخدام URI لنقطة نهاية التكوين المعروفة.

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

تعرف على كيفية تمرير رمز SwissID المميز إلى تطبيقك.