ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
هام
اعتبارا من 1 مايو 2025، لن يكون Azure AD B2C متوفرا للشراء للعملاء الجدد. تعرف على المزيد في الأسئلة المتداولة.
إشعار
في Azure Active Directory B2C، تم تصميم النُهج المخصصة بشكل أساسي لمعالجة السيناريوهات المعقدة. بالنسبة إلى معظم السيناريوهات، نوصي باستخدام تدفقات المستخدم المضمنة. إذا لم تقم بذلك، تعرف على حزمة بادئ النهج المخصصة في البدء باستخدام النهج المخصصة في Active Directory B2C.
يوفر Azure Active Directory B2C (Azure AD B2C) الدعم لإدارة إنشاء كلمة مرور لمرة واحدة والتحقق منها. استخدم ملف تعريف تقني لإنشاء رمز، ثم تحقق من هذه التعليمة البرمجية لاحقا.
يمكن أيضا لملف التعريف الفني لكلمة المرور لمرة واحدة إرجاع رسالة خطأ أثناء التحقق من التعليمات البرمجية. تصميم التكامل مع كلمة المرور لمرة واحدة باستخدام ملف تعريف تقني للتحقق من الصحة. يستدعي ملف التعريف الفني للتحقق من الصحة ملف التعريف الفني لكلمة المرور لمرة واحدة للتحقق من التعليمات البرمجية. يتحقق ملف التعريف الفني للتحقق من صحة البيانات التي يوفرها المستخدم قبل متابعة رحلة المستخدم. مع ملف التعريف الفني للتحقق من الصحة، يتم عرض رسالة خطأ على صفحة مؤكدة ذاتيا.
البروتوكول
يجب تعيين سمة اسم عنصر البروتوكول على Proprietary
. يجب أن تحتوي سمة المعالج على الاسم المؤهل بالكامل لتجميع معالج البروتوكول الذي يستخدمه Azure AD B2C:
Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
يوضح المثال التالي ملف تعريف تقني لكلمة المرور لمرة واحدة:
<TechnicalProfile Id="VerifyCode">
<DisplayName>Validate user input verification code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
...
إنشاء التعليمات البرمجية
الوضع الأول من ملف التعريف الفني هذا هو إنشاء تعليمة برمجية. فيما يلي الخيارات التي يمكن تكوينها لهذا الوضع. يتم تعقب الرموز التي تم إنشاؤها والمحاولات داخل جلسة العمل.
مطالبات الإدخال
يحتوي عنصر InputClaims على قائمة المطالبات المطلوبة لإرسالها إلى موفر بروتوكول كلمة المرور لمرة واحدة. يمكنك أيضا تعيين اسم مطالبتك إلى الاسم المحدد أدناه.
معرف المطالبة | مطلوب | الوصف |
---|---|---|
المعرف | نعم | المعرف لتحديد المستخدم الذي يحتاج إلى التحقق من التعليمات البرمجية لاحقا. يتم استخدامه عادة كمعرف للوجهة التي يتم تسليم الرمز إليها، على سبيل المثال عنوان البريد الإلكتروني أو رقم الهاتف. |
قد يحتوي عنصر InputClaimsTransformations على مجموعة من عناصر InputClaimsTransformation التي تستخدم لتعديل مطالبات الإدخال أو إنشاء مطالبات جديدة قبل الإرسال إلى موفر بروتوكول كلمة المرور لمرة واحدة.
مطالبات الإخراج
يحتوي عنصر OutputClaims على قائمة بالمطالبات التي تم إنشاؤها بواسطة موفر بروتوكول كلمة المرور لمرة واحدة. يمكنك أيضا تعيين اسم مطالبتك إلى الاسم المحدد أدناه.
معرف المطالبة | مطلوب | الوصف |
---|---|---|
otpتم إنشاؤه | نعم | التعليمات البرمجية التي تم إنشاؤها والتي تتم إدارة جلستها بواسطة Azure AD B2C. |
قد يحتوي عنصر OutputClaimsTransformations على مجموعة من عناصر OutputClaimsTransformation التي يتم استخدامها لتعديل مطالبات الإخراج أو إنشاء مطالبات جديدة.
بيانات التعريف
يمكن استخدام الإعدادات التالية لتكوين وضع إنشاء التعليمات البرمجية:
السمة | مطلوب | الوصف |
---|---|---|
العملية | نعم | العملية التي سيتم تنفيذها. القيمة الممكنة: GenerateCode . |
CodeExpirationInSeconds | لا | الوقت بالثوان حتى انتهاء صلاحية التعليمات البرمجية. الحد الأدنى: 60 ؛ الحد الأقصى: 1200 ؛ الافتراضي: 600 . في كل مرة يتم فيها توفير رمز (نفس التعليمات البرمجية باستخدام ReuseSameCode ، أو رمز جديد)، يتم تمديد انتهاء صلاحية التعليمات البرمجية. يتم استخدام هذا الوقت أيضا لتعيين مهلة إعادة المحاولة (بمجرد الوصول إلى أقصى عدد من المحاولات، يتم منع المستخدم من محاولة الحصول على رموز جديدة حتى انتهاء صلاحية هذا الوقت) |
طول الرمز | لا | طول التعليمات البرمجية. القيمة الافتراضية هي 6 . |
مجموعة الأحرف | لا | مجموعة الأحرف للتعليمات البرمجية، المنسقة للاستخدام في تعبير عادي. على سبيل المثال، a-z0-9A-Z القيمة الافتراضية هي 0-9 . يجب أن تتضمن مجموعة الأحرف 10 أحرف مختلفة كحد أدنى في المجموعة المحددة. |
NumRetryAttempts | لا | عدد محاولات التحقق قبل اعتبار التعليمات البرمجية غير صالحة. القيمة الافتراضية هي 5 . على سبيل المثال، إذا قمت بتعيين NumRetryAttempts إلى 2، فسيسمح لك بمحاولتين فقط في المجموع (إعادة المحاولة الأولى + 1). بالنسبة للمحاولة الثالثة، ستطرح الحد الأقصى من المحاولات التي تم الوصول إليها بغض النظر عما إذا كانت التعليمات البرمجية صحيحة أم لا. |
NumCodeGenerationAttempts | لا | عدد محاولات إنشاء التعليمات البرمجية القصوى لكل معرف. القيمة الافتراضية هي 10 إذا لم يتم تحديدها. |
إعادة استخدام رمزAme | لا | ما إذا كان يجب إعطاء نفس التعليمات البرمجية بدلا من إنشاء تعليمة برمجية جديدة عند عدم انتهاء صلاحية التعليمات البرمجية المحددة ولا تزال صالحة. القيمة الافتراضية هي false . |
مثال
يستخدم المثال TechnicalProfile
التالي لإنشاء تعليمة برمجية:
<TechnicalProfile Id="GenerateCode">
<DisplayName>Generate Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">GenerateCode</Item>
<Item Key="CodeExpirationInSeconds">600</Item>
<Item Key="CodeLength">6</Item>
<Item Key="CharacterSet">0-9</Item>
<Item Key="NumRetryAttempts">5</Item>
<Item Key="NumCodeGenerationAttempts">10</Item>
<Item Key="ReuseSameCode">false</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="identifier" PartnerClaimType="identifier" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="otpGenerated" PartnerClaimType="otpGenerated" />
</OutputClaims>
</TechnicalProfile>
التحقق من الرمز
الوضع الثاني من ملف التعريف الفني هذا هو التحقق من التعليمات البرمجية. فيما يلي الخيارات التي يمكن تكوينها لهذا الوضع.
مطالبات الإدخال
يحتوي عنصر InputClaims على قائمة المطالبات المطلوبة لإرسالها إلى موفر بروتوكول كلمة المرور لمرة واحدة. يمكنك أيضا تعيين اسم مطالبتك إلى الاسم المحدد أدناه.
معرف المطالبة | مطلوب | الوصف |
---|---|---|
المعرف | نعم | المعرف لتحديد المستخدم الذي أنشأ تعليمة برمجية مسبقا. يتم استخدامه عادة كمعرف للوجهة التي يتم تسليم الرمز إليها، على سبيل المثال عنوان البريد الإلكتروني أو رقم الهاتف. |
otpToVerify | نعم | رمز التحقق الذي يوفره المستخدم. |
قد يحتوي عنصر InputClaimsTransformations على مجموعة من عناصر InputClaimsTransformation التي تستخدم لتعديل مطالبات الإدخال أو إنشاء مطالبات جديدة قبل الإرسال إلى موفر بروتوكول كلمة المرور لمرة واحدة.
مطالبات الإخراج
لا توجد مطالبات إخراج مقدمة أثناء التحقق من التعليمات البرمجية لموفر البروتوكول هذا.
قد يحتوي عنصر OutputClaimsTransformations على مجموعة من عناصر OutputClaimsTransformation التي يتم استخدامها لتعديل مطالبات الإخراج أو إنشاء مطالبات جديدة.
بيانات التعريف
يمكن استخدام الإعدادات التالية لوضع التحقق من التعليمات البرمجية:
السمة | مطلوب | الوصف |
---|---|---|
العملية | نعم | العملية التي سيتم تنفيذها. القيمة الممكنة: VerifyCode . |
عناصر واجهة المستخدم
يمكن استخدام بيانات التعريف التالية لتكوين رسائل الخطأ المعروضة عند فشل التحقق من التعليمات البرمجية. يجب تكوين بيانات التعريف في ملف التعريف الفني المؤكد ذاتيا . يمكن ترجمة رسائل الخطأ
السمة | مطلوب | الوصف |
---|---|---|
رسالة للمستخدم في حالة التعطل عن العمل | لا | الرسالة التي سيتم عرضها للمستخدم إذا انتهت صلاحية جلسة التحقق من التعليمات البرمجية. إما أن تكون التعليمة البرمجية قد انتهت صلاحيتها أو لم يتم إنشاء التعليمات البرمجية لمعرف معين. |
UserMessageIfMaxRetryTried | لا | الرسالة التي يجب عرضها للمستخدم إذا تجاوز الحد الأقصى المسموح به لمحاولات التحقق. |
UserMessageIfMaxNumberOfCodeGenerated | لا | الرسالة التي سيتم عرضها للمستخدم إذا تجاوز إنشاء الرمز الحد الأقصى لعدد المحاولات المسموح بها. |
UserMessageIfInvalidCode | لا | الرسالة التي سيتم عرضها للمستخدم إذا كان قد قدم رمزا غير صالح. |
رسالة للمستخدم في حالة التحققFailedRetryAllowed | لا | الرسالة التي سيتم عرضها للمستخدم إذا كان قد قدم رمزا غير صالح، ويسمح للمستخدم بتوفير التعليمات البرمجية الصحيحة. |
رسالة للمستخدم في حالة الاختلاق | لا | الرسالة التي سيتم عرضها للمستخدم إذا تعذر التحقق من التعليمات البرمجية. |
مثال
يستخدم المثال TechnicalProfile
التالي للتحقق من التعليمات البرمجية:
<TechnicalProfile Id="VerifyCode">
<DisplayName>Verify Code</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.OneTimePasswordProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="Operation">VerifyCode</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="identifier" PartnerClaimType="identifier" />
<InputClaim ClaimTypeReferenceId="otpGenerated" PartnerClaimType="otpToVerify" />
</InputClaims>
</TechnicalProfile>
الخطوات التالية
راجع المقالة التالية على سبيل المثال لاستخدام ملف التعريف الفني لكلمة المرور لمرة واحدة مع التحقق من البريد الإلكتروني المخصص: