إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
إشعار
في Azure Active Directory B2C، تم تصميم النُهج المخصصة بشكل أساسي لمعالجة السيناريوهات المعقدة. بالنسبة إلى معظم السيناريوهات، نوصي باستخدام تدفقات المستخدم المضمنة. إذا لم تقم بذلك، تعرف على حزمة بادئ النهج المخصصة في البدء باستخدام النهج المخصصة في Active Directory B2C.
كافة التفاعلات في Azure Active Directory B2C (Azure AD B2C) حيث يتوقع من المستخدم توفير الإدخال هي ملفات تعريف فنية ذاتية التأكيد. على سبيل المثال، صفحة تسجيل الخروج أو صفحة تسجيل الدخول أو صفحة إعادة تعيين كلمة المرور.
البروتوكول
يجب تعيين سمة اسم عنصر البروتوكول على Proprietary. يجب أن تتضمن سمة المعالج اسم المؤهّل بالكامل لتجميع معالج البروتوكول الذي يستخدمه Azure AD B2C: Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
يظهر المثال التالي ملف تعريف فني مؤكد ذاتيًا لتسجيل الاشتراك عبر البريد الإلكتروني:
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
<DisplayName>Email signup</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
مطالبات الإدخال
في ملف تعريف فني مؤكد ذاتيًا، يمكنك استخدام عناصر مطالبات الإدخال و InputClaimsTransformations لملء قيمة المطالبات التي تظهر على الصفحة التي تم تأكيدها ذاتيًا (مطالبات العرض). على سبيل المثال، في نهج تحرير ملف التعريف، رحلة المستخدم أولاً بقراءة ملف تعريف المستخدم من خدمة الدليل Azure AD B2C، ثم التشكيل الجانبي التقني self-asserted تعيين مطالبات الإدخال مع بيانات المستخدم المخزنة في التشكيل الجانبي للمستخدم. يتم تجميع هذه المطالبات من التشكيل الجانبي للمستخدم ثم يتم تقديمها إلى المستخدم الذي يمكنه بعد ذلك تحرير البيانات الموجودة.
<TechnicalProfile Id="SelfAsserted-ProfileUpdate">
...
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityId" />
<InputClaim ClaimTypeReferenceId="userPrincipalName" />
<InputClaim ClaimTypeReferenceId="givenName" />
<InputClaim ClaimTypeReferenceId="surname" />
</InputClaims>
عرض المطالبات
يحتوي عنصر DisplayClaims على قائمة بالمطالبات التي سيتم تقديمها على الشاشة لجمع البيانات من المستخدم. لملء قيم مطالبات العرض مسبقًا، استخدم مطالبات الإدخال التي سبق وصفها. قد يحتوي العنصر أيضًا على قيمة افتراضية.
يحدد ترتيب المطالبات في DisplayClaims الترتيب الذي تقدم به Azure AD B2C المطالبات على الشاشة. لإجبار المستخدم على تقديم قيمة مطالبة معينة، قم بتعيين السمة مطلوب لعنصر عرض المطالبة على true.
عنصر ClaimType في مجموعة DisplayClaims يحتاج إلى تعيين عنصر UserInputType إلى أي نوع إدخال المستخدم المعتمدة بواسطة Azure AD B2C. على سبيل المثال: TextBox أو DropdownSingleSelect.
إضافة مرجع إلى DisplayControl
في مجموعة مطالبات العرض، يمكنك تضمين مرجع إلى DisplayControl الذي قمت بإنشائه. عنصر تحكم العرض هو عنصر واجهة مستخدم له وظائف خاصة ويتفاعل مع خدمة الواجهة الخلفية لـ Azure AD B2C. يسمح للمستخدم بتنفيذ الإجراءات على الصفحة التي تستدعي ملف التعريف التقني الخاص بالتحقق من الصحة في النهاية الخلفية. على سبيل المثال، التحقق من عنوان بريد إلكتروني أو رقم هاتف أو رقم ولاء العميل.
يوضح المثال التالي TechnicalProfile استخدام مطالبات العرض مع عناصر تحكم العرض.
- تشير مطالبة العرض الأولى إلى عنصر التحكم في
emailVerificationControlالعرض، الذي يجمع عنوان البريد الإلكتروني ويتحقق منه. - تقدم مطالبة العرض الثانية مرجعا إلى
captchaChallengeControlعنصر تحكم العرض، الذي يقوم بإنشاء التعليمات البرمجية ل CAPTCHA والتحقق منها. - تشير مطالبة العرض السادسة إلى
phoneVerificationControlعنصر تحكم العرض، الذي يجمع رقم هاتف ويتحقق منه. - مطالبات العرض الأخرى هي ClaimTypes التي سيتم جمعها من المستخدم.
<TechnicalProfile Id="Id">
<DisplayClaims>
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
<DisplayClaim DisplayControlReferenceId="captchaChallengeControl" />
<DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
<DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
<DisplayClaim ClaimTypeReferenceId="surName" Required="true" />
<DisplayClaim DisplayControlReferenceId="phoneVerificationControl" />
<DisplayClaim ClaimTypeReferenceId="newPassword" Required="true" />
<DisplayClaim ClaimTypeReferenceId="reenterPassword" Required="true" />
</DisplayClaims>
</TechnicalProfile>
كما ذكرنا، قد يتم تشغيل مطالبة عرض مع مرجع إلى عنصر تحكم عرض التحقق من الصحة الخاصة به، على سبيل المثال التحقق من عنوان البريد الإلكتروني. بالإضافة إلى ذلك، تدعم الصفحة self-asserted باستخدام ملف تعريف فني التحقق من صحة التحقق من صحة الصفحة بأكملها، بما في ذلك إدخال المستخدم (أنواع المطالبة أو عناصر التحكم في العرض)، قبل الانتقال إلى خطوة التزامن التالية.
الجمع بين استخدام مطالبات العرض ومطالبات الإخراج بعناية
إذا قمت بتحديد عنصر أو أكثر DisplayClaim في ملف تعريف فني مؤكد ذاتيًا، يجب عليك استخدام DisplayClaim لكل مطالبة تريد عرضها على الشاشة وجمعها من المستخدم. لا يتم عرض مطالبات الإخراج بواسطة ملف تعريف فني مؤكد ذاتيًا يحتوي على مطالبة عرض واحدة على الأقل.
ولنتأمل المثال التالي الذي تعرف فيه age المطالبة بأنها مطالبة ناتجة في سياسة أساسية. قبل إضافة أي مطالبات عرض إلى الملف الفني الذي تم تأكيده ذاتيًا، age يتم عرض المطالبة على الشاشة لجمع البيانات من المستخدم:
<TechnicalProfile Id="id">
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="age" />
</OutputClaims>
</TechnicalProfile>
إذا كان نهج طرفية يرث هذه القاعدة يحدد لاحقًا officeNumber كمطالبة عرض:
<TechnicalProfile Id="id">
<DisplayClaims>
<DisplayClaim ClaimTypeReferenceId="officeNumber" />
</DisplayClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="officeNumber" />
</OutputClaims>
</TechnicalProfile>
age لم تعد المطالبة في السياسة الأساسية معروضة على الشاشة للمستخدم - إنها "مخفية" بشكل فعال. لعرض المطالبة age وجمع القيمة العمرية من المستخدم، يجب إضافة age DisplayClaim.
مطالبات الإخراج
يحتوي عنصر OutputClaims على قائمة المطالبات التي سيتم إرجاعها إلى خطوة التزامن التالية. السمة DefaultValue نافذ المفعول فقط إذا لم يتم تعيين المطالبة. إذا تم تعيينها في خطوة التزامن السابقة، فلن تسري القيمة الافتراضية حتى إذا ترك المستخدم القيمة فارغة. لفرض استخدام قيمة افتراضية تعيين السمة AlwaysUseDefaultValue إلى true.
لأسباب أمنية، تتوفر قيمة المطالبة بكلمة مرور UserInputType (تعيين Password إلى) فقط للملف الشخصي التقني المؤكد ذاتيًا للتحقق من الصحة. لا يمكنك استخدام المطالبة بكلمة المرور في خطوات التزامن التالية.
إشعار
في الإصدارات السابقة من إطار عمل تجربة الهوية (IEF)، تم استخدام مطالبات الإخراج لجمع البيانات من المستخدم. لتجميع البيانات من المستخدم، استخدم مجموعة DisplayClaims بدلاً من ذلك.
قد يحتوي عنصر OutputClaimsTransformations على مجموعة من عناصر OutputClaimsTransformation التي تستخدم لتعديل مطالبات الإخراج أو إنشاء مطالبات جديدة.
متى يجب استخدام مطالبات الإخراج
وفي ملف تعريف تقني مؤكد ذاتيًا، تعيد مجموعة مطالبات الناتج المطالبات إلى الخطوة التالية للتزامن.
استخدام مطالبات الإخراج عند:
- المطالبات هي الناتج عن طريق تحويل مطالبات الإخراج.
- تعيين قيمة افتراضية في مطالبة إخراج دون تجميع بيانات من المستخدم أو إرجاع البيانات من ملف تعريف التحقق من الصحة التقني.
LocalAccountSignUpWithLogonEmailيحدد الملف الفني المؤكد ذاتيًا المطالبة المنفذة SelfAsserted-Input إلىtrue. - ملف تعريف فني التحقق من الصحة بإرجاع مطالبات الإخراج - قد يستدعي ملف التعريف التقني للتحقق من الصحة إرجاع بعض المطالبات. قد تحتاج إلى فقاعة المطالبات وإعادتها إلى خطوات التزامن التالية في رحلة المستخدم. على سبيل المثال، عند تسجيل الدخول باستخدام حساب محلي، يقوم ملف التعريف الفني الذي تم تأكيده ذاتيًا باسم
SelfAsserted-LocalAccountSignin-Emailباستدعاء ملف التعريف الفني للتحقق من الصحة المسمىlogin-NonInteractive. هذا التشكيل الجانبي التقنية بالتحقق من صحة بيانات اعتماد المستخدم وإرجاع التشكيل الجانبي للمستخدم أيضًا. مثل 'userPrincipalName'، 'displayName'، 'givenName' و 'surName'. - عنصر تحكم عرض بإرجاع مطالبات الإخراج - قد يكون ملف التعريف الفني مرجعًا إلىعنصر تحكم عرض. يقوم عنصر التحكم في العرض بإرجاع بعض المطالبات، مثل عنوان البريد الإلكتروني الذي تم التحقق منه. قد تحتاج إلى فقاعة المطالبات وإعادتها إلى خطوات التزامن التالية في رحلة المستخدم.
يوضح المثال التالي استخدام ملف تعريف فني مؤكد ذاتيًا يستخدم مطالبات العرض ومطالبات الإخراج.
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
<DisplayName>Email signup</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="IpAddressClaimReferenceId">IpAddress</Item>
<Item Key="ContentDefinitionReferenceId">api.localaccountsignup</Item>
<Item Key="language.button_continue">Create</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="email" />
</InputClaims>
<DisplayClaims>
<DisplayClaim DisplayControlReferenceId="emailVerificationControl" />
<DisplayClaim DisplayControlReferenceId="SecondaryEmailVerificationControl" />
<DisplayClaim ClaimTypeReferenceId="displayName" Required="true" />
<DisplayClaim ClaimTypeReferenceId="givenName" Required="true" />
<DisplayClaim ClaimTypeReferenceId="surName" Required="true" />
<DisplayClaim ClaimTypeReferenceId="newPassword" Required="true" />
<DisplayClaim ClaimTypeReferenceId="reenterPassword" Required="true" />
</DisplayClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="email" Required="true" />
<OutputClaim ClaimTypeReferenceId="objectId" />
<OutputClaim ClaimTypeReferenceId="executed-SelfAsserted-Input" DefaultValue="true" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" />
<OutputClaim ClaimTypeReferenceId="newUser" />
</OutputClaims>
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail" />
</ValidationTechnicalProfiles>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
</TechnicalProfile>
إشعار
عند جمع قيمة المطالبة بكلمة المرور في ملف التعريف الفني المؤكد ذاتيا، تتوفر هذه القيمة فقط داخل نفس ملف التعريف الفني أو ضمن ملفات تعريف فنية للتحقق من الصحة المشار إليها بواسطة نفس ملف التعريف الفني المؤكد ذاتيا. عند اكتمال تنفيذ ملف التعريف الفني المؤكد ذاتيا هذا، والانتقال إلى ملف تعريف تقني آخر، يتم فقدان قيمة كلمة المرور. وبالتالي، لا يمكن تخزين مطالبة كلمة المرور إلا في خطوة التنسيق التي يتم جمعها فيها.
مطالبات الإخراج تسجيل الدخول أو صفحة تسجيل الدخول
في صفحة تسجيل الدخول والاشتراك المدمجة، يُرجى مراعاة ما يلي عند استخدام عنصر DataUri لتعريف المحتوى الذي يحدد نوع صفحة unifiedssp أوunifiedssd:
- يتم تقديم مطالبات اسم المستخدم وكلمة المرور فقط.
- يجب أن تكون أول مطالبتين بالإخراج هي اسم المستخدم وكلمة المرور (بهذا الترتيب).
- ولا تقدم أي مطالبات أخرى، لهذه المطالبات، ستحتاج إما إلى تعيين
defaultValueأو استدعاء ملف تعريف فني للتحقق من صحة نموذج المطالبات.
استمرار المطالبات
لا يتم استخدام عنصر PersistedClaims. لا يستمر التشكيل الجانبي التقني المؤكد ذاتيًا في البيانات إلى Azure AD B2C. بدلاً من ذلك، يتم إجراء مكالمة إلى ملف تعريف فني للتحقق من الصحة مسؤول عن استمرار البيانات. على سبيل المثال، يستخدم نهج الاشتراك LocalAccountSignUpWithLogonEmail التشكيل الجانبي التقني self-asserted لجمع التشكيل الجانبي للمستخدم الجديد. LocalAccountSignUpWithLogonEmailالتشكيل الجانبي التقني استدعاء ملف تعريف تقني التحقق من الصحة لإنشاء الحساب في Azure AD B2C.
التحقق من صحة ملفات التعريف الفنية
يتم استخدام ملف تعريف فني للتحقق من صحة بعض أو كافة مطالبات الإخراج للملف الفني المرجعي. ويجب أن تظهر مطالبات المدخلات للملف الفني للتحقق من الصحة في مطالبات الناتج للملف الفني الذي يؤكد نفسه بنفسه. ملف تعريف التقنية التحقق من صحة إدخال المستخدم ثم يمكن إرجاع خطأ إلى المستخدم.
يمكن أن يكون ملف التعريف الفني للتحقق من الصحة أي ملف تعريف تقني في النهج، مثل معرف Microsoft Entra أو ملفات التعريف الفنية لواجهة برمجة تطبيقات REST. في المثال السابق، LocalAccountSignUpWithLogonEmail التشكيل الجانبي التقنية بالتحقق من صحة signinName غير موجود في الدليل. إذا لم يكن الأمر كذلك، ملف تعريف تقني التحقق من الصحة بإنشاء حساب محلي وإرجاع objectId، المصادقة المصدر، newUser. SelfAsserted-LocalAccountSignin-Emailالتشكيل الجانبي التقني باستدعاء ملف تعريف تقني التحقق من صحة التحقق من صحة بيانات اعتماد login-NonInteractive المستخدم.
يمكنك أيضًا استدعاء ملف تعريف تقني REST API بمنطق عملك، أو الكتابة فوق مطالبات الإدخال، أو إثراء بيانات المستخدم من خلال المزيد من التكامل مع تطبيق خط الأعمال الخاص بالشركة. لمزيدٍ من المعلومات، راجع ملف تعريف تقني للتحقق من الصحة
إشعار
يتم تشغيل ملف تعريف تقني للتحقق من الصحة فقط عند وجود إدخال من المستخدم. لا يمكنك إنشاء ملف تعريف فني فارغ مؤكد ذاتيا لاستدعاء ملف تعريف تقني للتحقق فقط للاستفادة من سمة ContinueOnError لعنصر ValidationTechnicalProfile. يمكنك فقط استدعاء ملف تعريف تقني للتحقق من الصحة من ملف تعريف تقني مؤكد ذاتيا يطلب إدخالا من المستخدم، أو من خطوة تزامن في رحلة المستخدم.
بيانات التعريف
| السمة | المطلوب | الوصف |
|---|---|---|
| الإعداد.operatingMode1 | لا | بالنسبة لصفحة تسجيل الدخول، تتحكم هذه الخاصية في سلوك حقل اسم المستخدم، مثل التحقق من صحة الإدخال ورسائل الخطأ. القيم المتوقعة: UsernameأوEmail. تحقق من العرض التوضيحي المباشر لبيانات التعريف هذه. |
| AllowGenerationOfClaimsWithNullValues | لا | السماح بإنشاء مطالبة بقيمة فارغة. على سبيل المثال، في حالة ما، لا يقوم المستخدم بتحديد خانة اختيار. |
| ContentDefinitionReferenceId | نعم | معرف تعريف المحتوى المقترن بملف التعريف التقني. |
| فرض التحقق من البريد الإلكتروني | لا | للتسجيل أو تعديل الملف الشخصي، يفرض التحقق من البريد الإلكتروني. القيم المحتملة: true(افتراضي)، أو false. |
| setting.retryLimit | لا | يتحكم في عدد المرات التي يمكن للمستخدم محاولة توفير البيانات التي تم التحقق منها مقابل ملف تعريف فني للتحقق من الصحة. على سبيل المثال، يحاول المستخدم التسجيل باستخدام حساب موجود بالفعل ويستمر في المحاولة حتى الوصول إلى الحد الأقصى. تحقق من العرض التوضيحي المباشر لبيانات التعريف هذه. |
| تسجيل الهدف 1 | لا | معرف تبادل هدف التسجيل. عندما ينقر المستخدم فوق زر التسجيل، يقوم Azure AD B2C بتنفيذ معرف الصرف المحدد. |
| الإعداد.showCancelButton | لا | يعرض زر الإلغاء. القيم المحتملة: true(افتراضي)، أو false. تحقق من العرض التوضيحي المباشر لبيانات التعريف هذه. |
| الإعداد.showContinueButton | لا | يعرض زر المتابعة. القيم المحتملة: true(افتراضي)، أو false. تحقق من العرض التوضيحي المباشر لبيانات التعريف هذه. |
| الإعداد.showSignupLink 2 | لا | يعرض زر التسجيل. القيم المحتملة: true(افتراضي)، أو false. تحقق من العرض التوضيحي المباشر لبيانات التعريف هذه. |
| setting.forgotPasswordLinkLocation 2 | لا | يعرض رابط كلمة المرور المنسية. القيم المحتملة: AfterLabel (افتراضي) يعرض الرابط مباشرة بعد التسمية أو بعد حقل إدخال كلمة المرور عند عدم وجود AfterInput تسمية، أو يعرض الرابط بعد حقل إدخال كلمة المرور، AfterButtons أو يعرض الرابط الموجود أسفل النموذج بعد الأزرار، أو يزيل رابط كلمة المرور None المنسية. تحقق من العرض التوضيحي المباشر لبيانات التعريف هذه. |
| الإعداد.enableRememberMe 2 | لا | يعرض خانة الاختيار الاحتفاظ بتسجيل الدخول. القيم المحتملة: true، أو false (افتراضي). عرض حي لبيانات التعريف هذه. |
| setting.inputVerificationDelayTimeInMilliseconds 3 | لا | تحسين تجربة المستخدم، عن طريق انتظار المستخدم لإيقاف الكتابة، ثم التحقق من صحة القيمة. القيمة الافتراضية 2000 مللي ثانية. تحقق من العرض التوضيحي المباشر لبيانات التعريف هذه. |
| تضمينClaimResolvingInClaimsHandling | لا | بالنسبة لمطالبات الإدخال والإخراج، يتم تحديد إذا ما كان حل المطالبات مدرجًا في ملف التعريف الفني أم لا. القيم المحتملة: true، أو false (افتراضية). إذا كنت تريد استخدام محلل مطالبات في ملف التعريف الفني حدد القيمة إلى true. |
| setting.forgotPasswordLinkOverride 4 | لا | تبادل مطالبات إعادة تعيين كلمة مرور ليتم تنفيذها. لمزيدٍ من المعلومات، راجع إعداد تدفق إعادة تعيين كلمة مرور مفروض. |
| setting.enableCaptchaChallenge | لا | تحديد ما إذا كان يجب عرض رمز تحدي CAPTCHA. القيم المحتملة: true، أو false (افتراضي). لكي يعمل هذا الإعداد، يجب الرجوع إلى عنصر تحكم عرض CAPTCHA في مطالبات العرض لملف التعريف الفني المؤكد ذاتيا. ميزة CAPTCHA في المعاينة العامة. |
| setting.showHeading | لا | تحديد ما إذا كان يجب أن يكون عنصر عنوان تفاصيل المستخدم مرئيا. القيم المحتملة: true(افتراضي)، أو false. |
ملاحظات:
- متوفر لتعريف المحتوى DataUri نوع
unifiedsspمن أوunifiedssd. - متوفر لتعريف المحتوى DataUri نوع
unifiedsspمن أوunifiedssd. إصدار تخطيط الصفحة 1.1.0 وما فوق. - إصدار تخطيط الصفحة 1.2.0 وما فوق.
- متوفر لتعريف المحتوى DataUri من النوع
unifiedssp. إصدار تخطيط الصفحة 2.1.2 وما فوق.
مفاتيح تشفير
لا يتم استخدام عنصر مفاتيح التشفير.