تعريف ملف تعريف تقني للمصادقة متعددة العوامل لمعرف Microsoft Entra في نهج مخصص ل Azure AD B2C

يوفر Azure Active Directory B2C (Azure AD B2C) الدعم للتحقق من رقم هاتف باستخدام رمز تحقق أو التحقق من رمز كلمة مرور لمرة واحدة (TOTP) يستند إلى الوقت.

بروتوكول

يجب تعيين سمة اسم عنصر البروتوكول على Proprietary. يجب أن تحتوي سمة المعالج على الاسم المؤهل بالكامل لتجميع معالج البروتوكول المستخدم من قِبل Azure AD B2C:

Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null

يوضح المثال التالي ملف تعريف تقني للمصادقة متعددة العوامل لمعرف Microsoft Entra:

<TechnicalProfile Id="AzureMfa-SendSms">
    <DisplayName>Send Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    ...

التحقق من وضع الهاتف

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

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

يوفر الملف الفني أساليب لإرسال رمز التحققعبر رسالة نصية SMS، والتحقق من التعليمة البرمجية. تظهر لقطة الشاشة التالية تدفق جهاز التحقق من الهاتف.

Screenshot showing TOTP flow

إرسال رسائل قصيرة SMS

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

مطالبات الإدخال

يحتوي عنصر InputClaims على قائمة المطالبات لإرسالها إلى مصادقة Microsoft Entra متعددة العوامل. يمكنك أيضاً تعيين اسم مطالبتك بالاسم المحدد في ملف التعريف التقني المخصص للمصادقة متعددة العوامل.

معرف المطالبة المطلوب الوصف
userPrincipalName ‏‏نعم‬ معرف المستخدم الذي يملك رقم الهاتف.
phoneNumber ‏‏نعم‬ رقم الهاتف المراد إرسال رمز رسالة SMS إليه.
companyName لا اسم الشركة في رسالة SMS. إذا كان غير متوفر، يتم استخدام اسم تطبيقك.
locale لا الإعدادات المحلية لرسالة SMS. إذا كانت غير متوفرة، يتم استخدام الإعدادات المحلية لمستعرض المستخدم.

مطالبات الإخراج

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

بيانات التعريف

يحتوي عنصر بيانات التعريف على السمة التالية:

السمة المطلوب الوصف
Operation ‏‏نعم‬ يجب أن يكونOneWaySMS.
عناصر واجهة المستخدم

يُمكن استخدام بيانات التعريف التالية لتكوين رسائل الخطأ المعروضة عند فشل إرسال رسالة SMS. ينبغي تكوين بيانات التعريف في ملف التعريف التقني المؤكد ذاتياً. يمكن ترجمة رسائل الخطأ

السمة المطلوب ‏‏الوصف
UserMessageIfCouldntSendSms لا رسالة الخطأ المعروضة للمستخدم إذا كان رقم الهاتف المقدم لا يقبل رسالة SMS.
UserMessageIfInvalidFormat لا رسالة الخطأ المعروضة للمستخدم إذا كان رقم الهاتف المقدم غير صالح.
UserMessageIfServerError لا رسالة خطأ المستخدم إذا واجه الخادم خطأً داخلياً.
UserMessageIfThrottled لا رسالة خطأ المستخدم في حالة تقييد طلب ما.

مثال: إرسال رسالة SMS

يظهر المثال التالي ملف تعريف تقني للمصادقة متعددة العوامل لمعرف Microsoft Entra يستخدم لإرسال رمز عبر SMS.

<TechnicalProfile Id="AzureMfa-SendSms">
  <DisplayName>Send Sms</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">OneWaySMS</Item>
  </Metadata>
  <InputClaimsTransformations>
    <InputClaimsTransformation ReferenceId="CombinePhoneAndCountryCode" />
    <InputClaimsTransformation ReferenceId="ConvertStringToPhoneNumber" />
  </InputClaimsTransformations>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
    <InputClaim ClaimTypeReferenceId="fullPhoneNumber" PartnerClaimType="phoneNumber" />
  </InputClaims>
</TechnicalProfile>

التحقق من الرمز

تحقق خطوة التحقق من التعليمات البرمجية من التعليمات البرمجية المرسلة إلى المستخدم. يُمكن تكوين الخيارات التالية لهذه الخطوة.

مطالبات الإدخال

يحتوي عنصر InputClaims على قائمة المطالبات لإرسالها إلى مصادقة Microsoft Entra متعددة العوامل. يمكنك أيضاً تعيين اسم مطالبتك بالاسم المحدد في ملف التعريف التقني المخصص للمصادقة متعددة العوامل.

معرف المطالبة المطلوب الوصف
phoneNumber ‏‏نعم‬ رقم الهاتف نفسه المستخدم سابقاً لإرسال رمز. ويُستخدم أيضاً لتحديد موقع جلسة التحقق من الهاتف.
verificationCode ‏‏نعم‬ رمز التحقق الذي يقدمه المستخدم ليتم التحقق منه

مطالبات الإخراج

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

بيانات التعريف

يحتوي عنصر بيانات التعريف على السمة التالية:

السمة المطلوب الوصف
Operation ‏‏نعم‬ يجب أن يكونVerify.
عناصر واجهة المستخدم

يمكن استخدام بيانات التعريف التالية لتكوين رسائل الخطأ المعروضة عند فشل التحقق من الرموز. ينبغي تكوين بيانات التعريف في ملف التعريف التقني المؤكد ذاتياً. يمكن ترجمة رسائل الخطأ

السمة المطلوب ‏‏الوصف
UserMessageIfMaxAllowedCodeRetryReached لا رسالة الخطأ المعروضة للمستخدم إذا حاول المستخدم كتابة رمز التحقق مرات عديدة جداً.
UserMessageIfServerError لا رسالة خطأ المستخدم إذا واجه الخادم خطأً داخلياً.
UserMessageIfThrottled لا رسالة الخطأ المعروضة للمستخدم في حالة تقييد الطلب.
UserMessageIfWrongCodeEntered لا رسالة الخطأ المعروضة للمستخدم إذا كان رمز التحقق الذي تم إدخاله غير صحيح.

مثال: التحقق من تعليمة برمجية

يظهر المثال التالي ملف تعريف تقني للمصادقة متعددة العوامل لمعرف Microsoft Entra يستخدم للتحقق من التعليمات البرمجية.

<TechnicalProfile Id="AzureMfa-VerifySms">
    <DisplayName>Verify Sms</DisplayName>
    <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <Metadata>
        <Item Key="Operation">Verify</Item>
    </Metadata>
    <InputClaims>
        <InputClaim ClaimTypeReferenceId="phoneNumber" PartnerClaimType="phoneNumber" />
        <InputClaim ClaimTypeReferenceId="verificationCode" />
    </InputClaims>
</TechnicalProfile>

وضع كلمات مرور تستخدم مرة واحدة ولفترة زمنية محدودة TOTP

في هذا الوضع، يُطلب من المستخدم تثبيت أي تطبيق مصدّق يدعم التحقق من كلمة المرور لمرة واحدة (TOTP، مثل Microsoft Authenticator app، على جهاز يمتلكه.

أثناء عملية التسجيل أو تسجيل الدخول الأولى، يقوم المستخدم بمسح رمز الاستجابة السريعة، أو فتح رابط لمحتوى في تطبيق آخر، أو إدخال التعليمات البرمجية يدويًا باستخدام تطبيق المصدّق. للتحقق من التعليمات البرمجية TOTP استخدم لبدء التحقق من OTP متبوعًا بالتحقق من TOTP التحقق من صحة الملفات التعريفية الفنية.

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

الملف التعريفي التقني:

  • لا يوفر واجهة للتفاعل مع المستخدم. بدلا من ذلك، يتم استدعاء واجهة المستخدم من ملف تعريف فني مؤكد ذاتيًا مع عناصر التحكم عرض TOTP.
  • يستخدم خدمة المصادقة متعددة العوامل من Microsoft Entra للتحقق من صحة التعليمات البرمجية TOTP.
  • يتحقق مما إذا كان مستخدم قد سجل جهازه بالفعل.

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

Screenshot showing TOTP flow.

الحصول على الأجهزة المتوفرة

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

مطالبات الإدخال

يحتوي عنصر InputClaims على قائمة المطالبات لإرسالها إلى مصادقة Microsoft Entra متعددة العوامل. يمكنك أيضاً تعيين اسم مطالبتك بالاسم المحدد في ملف التعريف التقني المخصص للمصادقة متعددة العوامل.

معرف المطالبة المطلوب الوصف
userPrincipalName ‏‏نعم‬ اسم المستخدم الأساسي

مطالبات الإخراج

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

معرف المطالبة المطلوب الوصف
numberOfAvailableDevices ‏‏نعم‬ عدد الأجهزة المتوفرة للمستخدم.

بيانات التعريف

يحتوي عنصر بيانات التعريف على السمة التالية:

السمة المطلوب الوصف
Operation ‏‏نعم‬ يجب أن يكونGetAvailableDevices.

مثال: الحصول على الأجهزة المتوفرة

يظهر المثال التالي ملف تعريف تقني للمصادقة متعددة العوامل لمعرف Microsoft Entra يستخدم للحصول على عدد الأجهزة المتوفرة.

<TechnicalProfile Id="AzureMfa-GetAvailableDevices">
  <DisplayName>Get Available Devices</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">GetAvailableDevices</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="numberOfAvailableDevices" />
  </OutputClaims>
</TechnicalProfile>

بدء التحقق من TOTP

تبدأ عملية التحقق من TOTP في عملية التحقق. يتم استدعاء الملف التعريفي الفني للتحقق من الصحة هذا من ملف التعريف الفني المؤكد ذاتيًا الذي يقدم التعليمات البرمجية لـ TOTP ويتحقق منها. يجب أن يتبع الملف التعريفي الفني للتحقق هذا باستدعاء للتحقق من صحة TOTP للتحقق من الملفات التعريفية الفنية

مطالبات الإدخال

يحتوي عنصر InputClaims على قائمة المطالبات لإرسالها إلى مصادقة Microsoft Entra متعددة العوامل. يمكنك أيضاً تعيين اسم مطالبتك بالاسم المحدد في ملف التعريف التقني المخصص للمصادقة متعددة العوامل.

معرف المطالبة المطلوب الوصف
userPrincipalName ‏‏نعم‬ اسم المستخدم الأساسي
objectId ‏‏نعم‬ معرّف عنصر المستخدم.
secretKey ‏‏نعم‬ مفتاح المستخدم السري. يتم تخزين هذا المفتاح في ملف تعريف المستخدم في دليل Azure النشط لمتاجرة عمل-مستهلك ويتم مشاركته مع تطبيق المصدّق. يستخدم التطبيق المصدّق البيانات السرية لإنشاء التعليمات البرمجية TOTP. يستخدم ملف التعريف هذا البيانات السرية للتحقق من التعليمات البرمجية TOTP.

مطالبات الإخراج

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

بيانات التعريف

يحتوي عنصر بيانات التعريف على السمة التالية:

السمة المطلوب الوصف
Operation ‏‏نعم‬ يجب أن يكونBeginVerifyOTP.

مثال: ابدأ التحقق من TOTP

يظهر المثال التالي ملف تعريف تقني للمصادقة متعددة العوامل لمعرف Microsoft Entra يستخدم لبدء عملية التحقق من TOTP.

<TechnicalProfile Id="AzureMfa-BeginVerifyOTP">
  <DisplayName>Begin verify TOTP"</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">BeginVerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="secretKey" />
    <InputClaim ClaimTypeReferenceId="objectId" />
    <InputClaim ClaimTypeReferenceId="userPrincipalName" />
  </InputClaims>
</TechnicalProfile>

تحقق من TOTP

يتحقق أسلوب التحقق من TOTP من التعليمة البرمجية لـ TOTP. يتم استدعاء الملف التعريفي الفني للتحقق من الصحة هذا من ملف التعريف الفني المؤكد ذاتيًا الذي يقدم التعليمات البرمجية لـ TOTP ويتحقق منها. يجب أن يتبع الملف التعريفي الفني للتحقق هذا باستدعاء للتحقق من صحة TOTP للتحقق من الملفات التعريفية الفنية

مطالبات الإدخال

يحتوي عنصر InputClaims على قائمة المطالبات لإرسالها إلى مصادقة Microsoft Entra متعددة العوامل. يمكنك أيضاً تعيين اسم مطالبتك بالاسم المحدد في ملف التعريف التقني المخصص للمصادقة متعددة العوامل.

معرف المطالبة المطلوب الوصف
otpCode ‏‏نعم‬ التعليمات البرمجية TOTP التي يوفرها المستخدم.

مطالبات الإخراج

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

بيانات التعريف

يحتوي عنصر بيانات التعريف على السمة التالية:

السمة المطلوب الوصف
Operation ‏‏نعم‬ يجب أن يكونVerifyOTP.

مثال: تحقق من TOTP

يظهر المثال التالي ملف تعريف تقني للمصادقة متعددة العوامل لمعرف Microsoft Entra يستخدم للتحقق من رمز TOTP.

<TechnicalProfile Id="AzureMfa-VerifyOTP">
  <DisplayName>Verify OTP</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureMfaProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="Operation">VerifyOTP</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="otpCode" />
  </InputClaims>
</TechnicalProfile>

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