سجل تطبيق SAML في Azure AD متاجرة عمل- مستهلك

في هذه المقالة، تعلّم كيفية وصل تطبيقات لغة تمييز تأكيدات الأمان (SAML) (موفري الخدمة) بـ Azure Active Directory متاجرة عمل-مستهلك (Azure AD متاجرة عمل- مستهلك) للمصادقة.

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

هذه الميزة متاحة فقط للسياسات المخصصة. لخطوات الإعداد، حدد نهج مخصص في المحدد السابق.

نظرة عامة

قد تتطلب المؤسسات التي تستخدم Azure AD متاجرة عمل- مستهلك كهوية للعميل الخاص بها، وحل لإدارة الوصول الدمج مع التطبيقات التي تصادق باستخدام بروتوكول SAML. يوضح الرسم التخطيطي التالي كيف يعمل Azure AD B2C كموفر هوية (IdP) لتحقيق تسجيل الدخول الأحادي (SSO) مع التطبيقات المستندة إلى SAML.

Diagram with Azure Active Directory B2C as an identity provider on the left and as a service provider on the right.

  1. ينشئ التطبيق طلب SAML AuthN الذي يتم إرساله إلى نقطة نهاية تسجيل الدخول SAML ل Azure AD B2C.
  2. ويمكن للمستخدم استخدام حساب محلي لـ Azure AD متاجرة- عمل مستهلك، أو أي موفر هوية آخر (إذا تم تكوينه) للمصادقة.
  3. إذا سجل المستخدم الدخول باستخدام موفر الهوية المتحد، يتم إرسال استجابة رمزية مميزة إلى Azure AD متاجرة عمل- مستهلك.
  4. وينشئ Azure AD متاجرة عمل- مستهلك تأكيد SAML، ويرسله إلى التطبيق.

شاهد هذا الفيديو لمعرفة كيفية دمج تطبيقات SAML مع Azure AD متاجرة عمل- مستهلك.

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

للسيناريو في هذه المقالة، تحتاج إلى:

  • النهج المخصص SocialAndLocalAccounts من حزمة بداية نهج مخصصة. أكمل الخطوات الواردة في بدء استخدام النهج المخصصة في Azure AD B2C.
  • فهم أساسي لبروتوكول SAML، وإلمام بتنفيذ تطبيق SAML.
  • تطبيق ويب تم تكوينه على شكل تطبيق SAML. وينبغي أن يكون لديه القدرة على إرسال طلبات SAML AuthN، وتلقي استجابات SAML، وفك ترميزها، والتحقق منها من Azure AD متاجرة عمل- مستهلك. ويعرف تطبيق SAML أيضًا باسم تطبيق جهة الاعتماد أو موفر الخدمة.
  • نقطة نهاية بيانات تعريف SAML المتوفرة للجمهور لتطبيق SAML أو مستند XML.
  • مستأجرMicrosoft Azure Active Directory B2C.

إذا لم يكن لديك بعد تطبيق SAML ونقطة نهاية بيانات تعريف مقترنة، يمكنك استخدام تطبيق اختبار SAML الذي قمنا بتوفيره للاختبار.

هام

يجب أن تتوافق نقاط النهاية الخاصة بك مع متطلبات أمان Microsoft Azure AD B2C. أُوقِف العمل بإصدارات وأصفار TLS الأقدم. لمزيد من المعلومات، راجع متطلبات مجموعة TLS والتشفير.

إعداد الشهادات

لإنشاء علاقة ثقة بين التطبيق الخاص بك وAzure AD متاجرة عمل-مستهلك، ينبغي أن تكون كلتا الخدمتين قادرتين على إنشاء توقيعات بعضهما البعض، والتحقق من صحتها. كوّن شهادات X509 في التطبيق الخاص بك، وفي Azure AD متاجرة عمل- مستهلك.

شهادات التطبيق

الاستخدام المطلوب ‏‏الوصف
توقيع طلب SAML لا شهادة مع مفتاح خاص مخزن في تطبيق الويب الخاص بك. يستخدم التطبيق الخاص بك الشهادة لتوقيع طلبات SAML المرسلة إلى Azure AD متاجرة عمل- مستهلك. وينبغي أن يعرض تطبيق الويب المفتاح العام من خلال نقطة نهاية بيانات تعريف SAML الخاصة به. ويتحقق Azure AD متاجرة عمل- مستهلك من صحة توقيع طلب SAML باستخدام المفتاح العام من بيانات تعريف التطبيق.
تشفير تأكيد SAML لا شهادة مع مفتاح خاص مخزن في تطبيق الويب الخاص بك. وينبغي أن يعرض تطبيق الويب المفتاح العام من خلال نقطة نهاية بيانات تعريف SAML الخاصة به. ويمكن أن يشفر Azure AD متاجرة عمل- مستهلك التأكيدات إلى التطبيق الخاص بك باستخدام المفتاح العام. ويستخدم التطبيق المفتاح الخاص لفك تشفير التأكيد.

شهادات Azure AD B2C

الاستخدام المطلوب ‏‏الوصف
توقيع استجابة SAML ‏‏نعم‬ شهادة مع مفتاح خاص مخزن في Azure AD متاجرة عمل- مستهلك. يستخدم Azure AD متاجرة عمل- مستهلك هذه الشهادة لتوقيع استجابة SAML المرسلة إلى التطبيق الخاص بك. ويقرأ التطبيق الخاص بك المفتاح العام لبيانات التعريف في Azure AD متاجرة عمل- مستهلك؛ للتحقق من صحة توقيع استجابة SAML.
توقيع تأكيد SAML ‏‏نعم‬ شهادة مع مفتاح خاص مخزن في Azure AD متاجرة عمل- مستهلك. يستخدم Azure AD B2C هذه الشهادة <saml:Assertion> لتوقيع جزء من استجابة SAML.

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

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

للحصول على علاقة ثقة بين التطبيق الخاص بك وAzure AD متاجرة عمل- مستهلك، أنشئ شهادة توقيع للاستجابة SAML. يستخدم Azure AD متاجرة عمل- مستهلك هذه الشهادة لتوقيع استجابة SAML المرسلة إلى التطبيق الخاص بك. ويقرأ التطبيق الخاص بك المفتاح العام لبيانات تعريف Azure AD متاجرة عمل- مستهلك؛ للتحقق من صحة توقيع استجابة SAML.

تلميح

يمكنك استخدام مفتاح النهج هذا لأغراض أخرى، مثل توقيع تأكيد SAML.

الحصول على شهادة

إذا لم يكن لديك بالفعل شهادة، فيمكنك استخدام شهادة موقعة ذاتياً. الشهادة الموقعة ذاتياً هي شهادة أمان غير موقعة من قبل هيئة الشهادات (CA) ولا توفر ضمانات الأمان لشهادة موقعة من قبل هيئة شهادات.

في نظام التشغيل Windows، استخدم الأمر New-SelfSignedCertificate في PowerShell لإنشاء شهادة.

  1. قم بتشغيل أمر PowerShell التالي لإنشاء شهادة موقعة ذاتياً. قم بتعديل الوسيطة -Subject بالشكل المناسب للتطبيق الخاص بك واسم مستأجر Azure AD B2C مثل contosowebapp.contoso.onmicrosoft.com. يمكنك أيضاً ضبط تاريخ -NotAfter لتحديد تاريخ انتهاء صلاحية مختلف للشهادة.

    New-SelfSignedCertificate `
        -KeyExportPolicy Exportable `
        -Subject "CN=yourappname.yourtenant.onmicrosoft.com" `
        -KeyAlgorithm RSA `
        -KeyLength 2048 `
        -KeyUsage DigitalSignature `
        -NotAfter (Get-Date).AddMonths(12) `
        -CertStoreLocation "Cert:\CurrentUser\My"
    
  2. على جهاز الكمبيوتر الذي يعمل بنظام التشغيل Windows، ابحث عن Manage user certificates وحددها

  3. ضمن الشهادات - المستخدم الحالي، حدد شخصي>الشهادات>yourappname.yourtenant.onmicrosoft.com.

  4. حدد الشهادة، ثم حدد الإجراء>كل المهام>تصدير.

  5. حدد التالي>نعم، تصدير المفتاح الخاص>التالي.

  6. اقبل الإعدادات الافتراضية لـ تصدير تنسيق الملف، ثم حدد التالي.

  7. قم بتمكين خيار كلمة المرور، وأدخل كلمة مرور للشهادة، ثم حدد التالي.

  8. لتحديد موقع لحفظ الشهادة الخاصة بك، حدد استعراض وتنقل إلى الدليل الذي تختاره.

  9. في نافذة Save As، أدخل File name، ثم حدد Save.

  10. حدد التالي>وإنهاء.

لكي يقبل Azure AD B2C كلمة مرور ملف pfx. يجب تشفير كلمة المرور باستخدام الخيار TripleDES-SHA1 في الأداة المساعدة Windows Certificate Store Export، بدلاً من AES256-SHA256.

حمّل الشهادة

تحتاج إلى تخزين شهادتك في مستأجر Azure AD B2C.

  1. سجل الدخول إلى مدخل Azure.
  2. إذا كان لديك حق الوصول إلى عدة مستأجرين، فحدد رمز الإعدادات في القائمة العلوية للتبديل إلى مستأجر Azure AD B2C من قائمة Directories + subscriptions.
  3. حدد All services في الزاوية العلوية اليمنى من مدخل Microsoft Azure، ثم ابحث عن Azure AD B2C وحدده.
  4. في صفحة النظرة العامة، ضمن السياسات، حدد إطار عمل تجربة الهوية.
  5. حدد مفاتيح النهج ثم حدد إضافة.
  6. بالنسبة إلى خيارات، حدد تحميل.
  7. بالنسبة إلى Name، أدخل اسما لمفتاح النهج. على سبيل المثال، أدخل SamlIdpCert. تتم إضافة السابقة "متاجرة عمل-مستهلك _1A_" تلقائيًا إلى اسم المفتاح الخاص بك.
  8. تصفح لتحديد ملف الشهادة .pfx وتحديده باستخدام المفتاح الخاص.
  9. حدد إنشاء.

مكّن النهج الخاص بك للاتصال بتطبيق SAML

للاتصال بتطبيق SAML، ينبغي أن يكون Azure AD متاجرة عمل-مستهلك قادرًا على إنشاء استجابات SAML.

افتح SocialAndLocalAccounts\TrustFrameworkExtensions.xml في حزمة بداية النهج المخصصة.

ابحث عن <ClaimsProviders> القسم وأضف مقتطف XML التالي لتنفيذ منشئ استجابة SAML:

<ClaimsProvider>
  <DisplayName>Token Issuer</DisplayName>
  <TechnicalProfiles>

    <!-- SAML Token Issuer technical profile -->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>Token Issuer</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      <Metadata>
        <Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
        <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
      </CryptographicKeys>
      <InputClaims/>
      <OutputClaims/>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
    </TechnicalProfile>

    <!-- Session management technical profile for SAML-based tokens -->
    <TechnicalProfile Id="SM-Saml-issuer">
      <DisplayName>Session Management Provider</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
    </TechnicalProfile>

  </TechnicalProfiles>
</ClaimsProvider>

كوّن مصدر الشهادة URI للاستجابة SAML

يمكنك تغيير قيمة IssuerUri عنصر بيانات التعريف في ملف التعريف الفني لمصدر الرمز المميز SAML. سينعكس هذا التغيير في السمة التي issuerUri تم إرجاعها في استجابة SAML من Azure AD B2C. قم بتكوين التطبيق الخاص بك لقبول نفس IssuerUri القيمة أثناء التحقق من صحة استجابة SAML.

<ClaimsProvider>
  <DisplayName>Token Issuer</DisplayName>
  <TechnicalProfiles>
    <!-- SAML Token Issuer technical profile -->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>Token Issuer</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      <Metadata>
        <Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
      </Metadata>
      ...
    </TechnicalProfile>

وكوّن النهج الخاص بك لإصدار استجابة SAML

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

إنشاء نهج تسجيل دخول مكّون لـSAML

  1. أنشئ نسخة من ملف SignUpOrSignin.xml في دليل عمل حزمة البداية واحفظه باسم جديد. تستخدم هذه المقالة SignUpOrSigninSAML.xml كمثال. وهذا الملف هو ملف النهج الخاص بك لجهة الاعتماد. فقد تم تكوينه لإصدار استجابة JWT بشكل افتراضي.

  2. افتح ملف SignUpOrSigninSAML.xml في المحرر المفضل لديك.

  3. تغيير قيمة:

    1. PolicyId إلى B2C_1A_signup_signin_saml

    2. PublicPolicyUri إلى http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml. استبدل <tenant-name> العنصر النائب بالمجال الفرعي لاسم مجال مستأجر Azure AD B2C. على سبيل المثال، إذا كان المجال الأساسي للمستأجر الخاص بك هو contoso.onmicrosoft.com، فاستخدم contoso. إذا لم يكن لديك اسم المستأجر الخاص بك، فتعرف على كيفية قراءة تفاصيل المستأجر.

    <TrustFrameworkPolicy
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
    PolicySchemaVersion="0.3.0.0"
    TenantId="<tenant-name>.onmicrosoft.com"
    PolicyId="B2C_1A_signup_signin_saml"
    PublicPolicyUri="http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml">
    
  4. في نهاية رحلة المستخدم، يحتوي Azure AD B2C على خطوة SendClaims . وتشير هذه الخطوة إلى ملف التعريف التقني للرمز المميز لمصدر الشهادة. لإصدار استجابة SAML بدلا من استجابة JWT الافتراضية، قم بتعديل SendClaims الخطوة للإشارة إلى ملف التعريف الفني الجديد لمصدر رمز SAML المميز، Saml2AssertionIssuer.

أضف مقتطف XML التالي قبل <RelyingParty> العنصر. يقوم XML هذا بالكتابة فوق خطوة التنسيق 7 في رحلة مستخدم SignUpOrSignIn .

إذا بدأت من مجلد مختلف في حزمة البداية أو قمت بتخصيص رحلة المستخدم عن طريق إضافة خطوات التنسيق أو إزالتها، فتأكد من أن الرقم في order العنصر يتوافق مع الرقم المحدد في رحلة المستخدم لخطوة مصدر الرمز المميز. على سبيل المثال، في مجلدات حزمة البداية الأخرى، يكون رقم الخطوة المقابل هو 4 ل LocalAccountsو6 ل SocialAccountsو9 ل SocialAndLocalAccountsWithMfa.

<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
    <OrchestrationSteps>
      <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
    </OrchestrationSteps>
  </UserJourney>
</UserJourneys>

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

استبدل العنصر بأكمله <TechnicalProfile> في <RelyingParty> العنصر ب XML لملف التعريف الفني التالي.

    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
      </OutputClaims>
      <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
    </TechnicalProfile>

ينبغي أن يشبه ملف النهج النهائي لجهة الاعتماد التعليمة البرمجية XML التالية:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrustFrameworkPolicy
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
  PolicySchemaVersion="0.3.0.0"
  TenantId="contoso.onmicrosoft.com"
  PolicyId="B2C_1A_signup_signin_saml"
  PublicPolicyUri="http://contoso.onmicrosoft.com/B2C_1A_signup_signin_saml">

  <BasePolicy>
    <TenantId>contoso.onmicrosoft.com</TenantId>
    <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
  </BasePolicy>

  <UserJourneys>
    <UserJourney Id="SignUpOrSignIn">
      <OrchestrationSteps>
        <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
      </OrchestrationSteps>
    </UserJourney>
  </UserJourneys>

  <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
      </OutputClaims>
      <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
    </TechnicalProfile>
  </RelyingParty>
</TrustFrameworkPolicy>

إشعار

ويمكنك متابعة هذه العملية نفسها لتنفيذ؛ أنواع أخرى من تدفقات المستخدمين (على سبيل المثال: تسجيل الدخول، أو إعادة تعيين كلمة المرور، أو تدفقات تحرير ملف التعريف).

حمّل نهجك

احفظ التغييرات وحمل ملفات نهج TrustFrameworkExtensions.xml و SignUpOrSigninSAML.xml الجديدة إلى مدخل Microsoft Azure.

واختبر بيانات تعريف موفر هوية SAML في Azure AD متاجرة عمل-مستهلك

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

وتتوفر بيانات تعريف نهج Azure AD متاجرة عمل- مستهلك على الـ URL التالي:

https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata

استبدل <tenant-name> باسم مستأجر متاجرة عمل-مستهلك Azure AD. استبدل <policy-name> باسم (معرف) النهج. إليك مثال:

https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata

سجل تطبيق SAML الخاص بك في Azure AD متاجرة عمل- مستهلك

ولكي يثق Azure AD متاجرة عمل- مستهلك في التطبيق الخاص بك، يمكنك إنشاء تسجيل تطبيق Azure AD متاجرة عمل- مستهلك. ويحوي التسجيل معلومات حول التكوين، كنقطة نهاية بيانات تعريف التطبيق.

  1. سجل الدخول إلى مدخل Azure.
  2. إذا كان لديك حق الوصول إلى عدة مستأجرين، فحدد رمز الإعدادات في القائمة العلوية للتبديل إلى مستأجر Azure AD B2C من قائمة Directories + subscriptions.
  3. في القائمة اليسرى، حدد Azure AD B2C. أو حدد All services ثم ابحث عن Azure AD B2C وحدده.
  4. حدد App registrations، ثم حدد New registration.
  5. أدخل Name للتطبيق. على سبيل المثال، أدخل SAMLApp1.
  6. لأنواع الحسابات المدعومة، حدد الحسابات في هذا الدليل التنظيمي فقط.
  7. ضمن Redirect URI، حدد Web، ثم أدخل https://localhost. ستعدّل هذه القيمة لاحقًا في بيان تسجيل التطبيق.
  8. حدد تسجيل.

كوّن التطبيق الخاص بك في Azure AD متاجرة عمل- مستهلك

بالنسبة إلى تطبيقات SAML، تحتاج إلى تكوين خصائص عدة في بيان تسجيل التطبيق.

  1. في مدخل Microsoft Azure، انتقل إلى تسجيل التطبيق الذي قمت بإنشائه في القسم السابق.
  2. ضمن Manage، حدد Manifest لفتح محرر البيان. ثم عدّل الخصائص الموصوفة في الأقسام التالية.

أضف المعرف

عندما يقدم تطبيق SAML الخاص بك طلبا إلى Azure AD B2C، يتضمن طلب SAML AuthN سمة Issuer . عادة ما تكون قيمة هذه السمة هي نفس قيمة بيانات entityID تعريف التطبيق. ويستخدم Azure AD متاجرة عمل- مستهلك هذه القيمة؛ للبحث عن تسجيل التطبيق في الدليل، وقراءة التكوين. لكي ينجح هذا البحث، identifierUri يجب ملء تسجيل التطبيق بقيمة تطابق السمة Issuer .

في بيان التسجيل، ابحث عن المعلمة identifierURIs وأضف القيمة المناسبة. ستكون هذه القيمة هي نفس القيمة التي تم تكوينها في طلبات SAML AuthN في EntityId التطبيق، والقيمة entityID في بيانات تعريف التطبيق. ستحتاج أيضا إلى العثور على المعلمة accessTokenAcceptedVersion وتعيين القيمة إلى 2.

هام

وإذا لم تقم بتحديث ⁧accessTokenAcceptedVersion⁩ إلى ⁧2⁩، فستتلقى رسالة خطأ تتطلب المجال الذي تم التحقق من صحته.

يوضح entityID المثال التالي القيمة في بيانات تعريف SAML:

<EntityDescriptor ID="id123456789" entityID="https://samltestapp2.azurewebsites.net" validUntil="2099-12-31T23:59:59Z" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">

ستقبل الخاصية identifierUris عناوين URL فقط على المجال tenant-name.onmicrosoft.com.

"identifierUris":"https://tenant-name.onmicrosoft.com/app-name",

شارك بيانات تعريف التطبيق مع Azure AD متاجرة عمل- مستهلك

بعد تحميل تسجيل التطبيق بقيمته identifierUri ، يستخدم Azure AD B2C بيانات تعريف التطبيق للتحقق من صحة طلب SAML AuthN وتحديد كيفية الاستجابة.

ونوصي بأن يعرض التطبيق نقطة نهاية بيانات تعريف يمكن الوصول إليها بشكل عام.

إذا كانت هناك خصائص محددة في كل من عنوان URL لبيانات تعريف SAML وبيان تسجيل التطبيق، يتم دمجها. وتُعالج الخصائص المحددة في URL بيانات التعريف أولًا، وتكون لها الأسبقية.

باستخدام تطبيق اختبار SAML كمثال، يمكنك استخدام القيمة التالية ل samlMetadataUrl في بيان التطبيق:

"samlMetadataUrl":"https://samltestapp2.azurewebsites.net/Metadata",

وتجاوز عنوان URL للمستهلك التأكيدي أو عينه (اختياري)

ويمكنك تكوين عنوان URL للرد الذي يرسل إليه Azure AD متاجرة عمل- مستهلك استجابات SAML. ويمكن تكوين عناوين URL للرد في بيان التطبيق. ويفيد هذا التكوين عندما لا يعرض التطبيق نقطة نهاية بيانات تعريف يمكن الوصول إليها بشكل عام.

عنوان URL للرد لتطبيق SAML هو نقطة النهاية التي يتوقع التطبيق فيها تلقي استجابات SAML. يوفر التطبيق عادة عنوان URL هذا في مستند بيانات التعريف كسمة Location للعنصر AssertionConsumerService ، كما هو موضح في هذا المثال:

<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    ...
    <AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://samltestapp2.azurewebsites.net/SP/AssertionConsumer" />        
</SPSSODescriptor>

إذا كان عنصر بيانات التعريف AssertionConsumerService للتطبيق مفقودا، أو كنت تريد تجاوزه، فكون خاصية بيان replyUrlsWithType تسجيل التطبيق. يستخدم replyUrlsWithType Azure AD B2C لإعادة توجيه المستخدمين بعد تسجيل الدخول باستخدام HTTP-POST نوع الربط.

باستخدام تطبيق اختبار SAML كمثال، يمكنك تعيين url خاصية replyUrlsWithType إلى القيمة الموضحة في مقتطف JSON التالي:

"replyUrlsWithType":[
  {
    "url":"https://samltestapp2.azurewebsites.net/SP/AssertionConsumer",
    "type":"Web"
  }
],

تجاوز أو تعيين عنوان URL لتسجيل الخروج (اختياري)

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

<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://samltestapp2.azurewebsites.net/logout" ResponseLocation="https://samltestapp2.azurewebsites.net/logout" />

</SPSSODescriptor>

إذا كان عنصر بيانات التعريف SingleLogoutService للتطبيق مفقودا، فكون خاصية بيان logoutUrl تسجيل التطبيق. يستخدم logoutURL Azure AD B2C لإعادة توجيه المستخدمين بعد تسجيل خروجهم باستخدام HTTP-Redirect نوع الربط.

باستخدام تطبيق اختبار SAML كمثال، يمكنك تعيين الخاصية logoutUrl إلى https://samltestapp2.azurewebsites.net/logout:

"logoutUrl": "https://samltestapp2.azurewebsites.net/logout",

إشعار

إذا اخترت تكوين عنوان URL للرد وعنوان URL لتسجيل الخروج في بيان التطبيق دون ملء نقطة نهاية بيانات التعريف للتطبيق عبر samlMetadataUrl الخاصية، فلن يتحقق Azure AD B2C من صحة توقيع طلب SAML. كما أنه لن يشفر استجابة SAML.

كوّن Azure AD متاجرة عمل- مستهلك كموفر هوية SAML في تطبيق SAML الخاص بك

تتمثل الخطوة الأخيرة في تمكين Azure AD متاجرة عمل- مستهلك كموفر هوية SAML في تطبيق SAML الخاص بك. كل تطبيق مختلف، وتختلف الخطوات. راجع وثائق التطبيق الخاص بك للحصول على التفاصيل.

يمكن تكوين بيانات التعريف في التطبيق الخاص بك كبيانات تعريف ثابتة أو بيانات تعريف ديناميكية. وفي الوضع الثابت، انسخ كافة بيانات التعريف، أو جزءًا منها من بيانات تعريف نهج Azure AD متاجرة عمل- مستهلك. أما في الوضع الديناميكي، فوفر الـ URL لبيانات التعريف، واسمح للتطبيق الخاص بك بقراءة بيانات التعريف بشكل ديناميكي.

ويُطلب عادة بعض ما يلي أو كله:

  • Metadata: استخدم التنسيق https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadata.

  • Issuer: يجب أن تتطابق قيمة issuer لطلب SAML مع أحد عناوين URI المهيأة في العنصر identifierUris لبيان تسجيل التطبيق. في حالة عدم وجود اسم issuer لطلب SAML في العنصر identifierUris، فأضفه إلى بيان تسجيل التطبيق. على سبيل المثال: https://contoso.onmicrosoft.com/app-name.

  • Login URL, SAML endpoint, SAML URL: تحقق من القيمة في ملف بيانات التعريف لنهج Microsoft Azure Active Directory B2C SAML لعنصر XML <SingleSignOnService>.

  • الشهادة: هذه الشهادة B2C_1A_SamlIdpCert، ولكن بدون المفتاح الخاص. للحصول على المفتاح العام للشهادة:

    1. انتقل إلى عنوان URL لبيانات التعريف المحددة مسبقًا.
    2. انسخ القيمة في <X509Certificate> العنصر .
    3. ألصقه في ملف نصي.
    4. احفظ الملف النصي كملف .cer .

اختبره عن طريق تطبيق اختبار SAML

يمكنك استخدام تطبيق اختبار SAML لاختبار التكوين الخاص بك:

  • حدّث اسم المستأجر.
  • حدّث اسم النهج. على سبيل المثال، استخدم B2C_1A_signup_signin_saml.
  • حدد URI مصدر الشهادة. استخدم أحد معرفات URI الموجودة في identifierUris العنصر في بيان تسجيل التطبيق. على سبيل المثال، استخدم https://contoso.onmicrosoft.com/app-name.

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

أساليب SAML المدعومة وغير المدعومة

يتم دعم سيناريوهات تطبيق SAML التالية عبر نقطة نهاية بيانات التعريف الخاصة بك:

  • حدد عناوين URL لتسجيل الخروج المتعددة أو ربط POST لعنصر URL لتسجيل الخروج في التطبيق أو كائن كيان الخدمة.
  • حدد مفتاح توقيع؛ للتحقق من صحة طلبات جهة الاعتماد في التطبيق، أو كائن الخدمة الأساسي.
  • حدد مفتاح تشفير رمز مميز في التطبيق، أو كائن الخدمة الأساسي.
  • حدد IdP-initiated sign-on، حيث يكون موفر الهوية هو Microsoft Azure Active Directory B2C.

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