تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يوضح هذا المستند الكيفية التي يمكن بها تحسين تسجيل دخول المستخدم النهائي في تسجيل الدخول الأحادي لمركز الاتصال الموحد (UCCE). يمكن تحسين ذلك، إذا لم يتم إجبار المستخدم على إدخال معرف تسجيل الدخول الخاص به للمرة الثانية في صفحة تسجيل الدخول الخاصة بموفر الهوية (IdP).
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
في تسجيل دخول UCCE SSO، يجب على المستخدم إدخال معرف تسجيل الدخول الخاص به مرتين: الأولى في صفحة تسجيل الدخول إلى تطبيق UCCE (Finesse، CUIC، على سبيل المثال) والثانية في صفحة تسجيل الدخول إلى IdP (في حالة إستخدام طريقة مصادقة النماذج). في المثال الموجود في هذا المستند، يتم إستخدام خدمة إتحاد Active Directory (AD FS) كمعرف.
عندما يتم تمكين SSO في UCCE، بعد إدخال معرف تسجيل الدخول والضغط على زر التسليم/تسجيل الدخول على CUIC/Finesse، يتم تخزين معرف تسجيل الدخول الذي تم إدخاله في ملف تعريف الارتباط cc_username ويتم الحفاظ عليه لعمليات إعادة التوجيه إلى خادم الهوية (IDs) ثم إلى IdP. من الممكن إستخدام ملف تعريف الارتباط هذا في صفحة تسجيل الدخول إلى IdP لنشر معرف تسجيل الدخول تلقائيا.
للمراجعة، فيما يلي مثال لمخطط تدفق HTTP/SAML حيث يكون المستخدم النهائي عامل Finesse وتطبيق UCCE هو خادم Finesse.
هذا مثال على رؤوس طلبات الخطوة 4c HTTP المرسلة من مستعرض ويب للمستخدم النهائي إلى AD FS (IdP).
Request URL: https://dc01.omozol.lab/adfs/ls/?SAMLRequest=tZTBjtowEIbv%2BxSR... Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Cache-Control: no-cache Connection: keep-alive Cookie: cc_username=agent1%40omozol.lab Host: dc01.omozol.lab Pragma: no-cache Referer: https://fns01p.omozol.lab/desktop/container/landing.jsp?locale=en_US Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
مع AD FS 3. 0 كمعرف، يتم تحقيق التكوين من خلال تعديل ملف onLoad.js، والذي يقوم AD FS بإدخاله في صفحة HTML التي تم إرجاعها للمستخدم إستجابة لطلب https://<AD FS FQDN>/ADFS/ls/.
الخطوة 1. لتعديل ملف onload.js، قم بتصدير الملف عبر cmdlet ل PowerShell إلى filesystem (نظام الملفات):
PS C:\> التصدير-AdfsWebTheme -الاسم الافتراضي -DirectoryPath c:\temp\adfs\
يتم وضع ملف onload.js في هذا الدليل:
C:\temp\adfs\script
الخطوة 2. بناء على تنسيق تسجيل الدخول، قم بإضافة قصاصة التعليمات البرمجية JS المناسبة في أي مكان في الملف خارج بنيات/منطق التعليمات البرمجية الموجودة بالفعل. من أجل السهولة، قم بإضافته إلى أسفل الملف.
بشكل افتراضي، تتطلب صفحة تسجيل الدخول التي يتم تقديمها لمستخدمي SSO بواسطة AD FS في Windows Server 2012 R2 اسم مستخدم يكون نموذج userPrincipleName (UPN). هذا تنسيق يشبه البريد الإلكتروني، مثلا، user@cisco.com. في مركز اتصال مجال واحد، يمكن تعديل صفحة تسجيل الدخول إلى AD FS للسماح بمعرف مستخدم بسيط sAMAccountNameUser (UID) لا يتضمن اسم مجال كجزء من اسم المستخدم.
إذا كان اسم مستخدم UPN يحتاج إلى أن يكون مدخل على صفحة تسجيل الدخول إلى AD FS، أستخدم قصاصة الرمز هذه:
// Get cc_username as login ID from HTTP Cookie header if (document.cookie) {
// If the position of cc_username in the cookie is the first position, 0... if (document.cookie.indexOf('cc_username') == 0) {
// Split the cookie into an array with the delimitor being '=' var cookies = document.cookie.split('=');
// If the first element of the array is cc_username then...
if (cookies[0] == 'cc_username') {
// ...the second element will be the actual username and we should save that. var cc_login_name = cookies[1]; } // Customize Login page: add domain if needed as AD FS by default require login ID in UPN form
// If the parsed login is not null, do the following logic if (cc_login_name != null) {
// If %40 (encoded '=') does not exist in the login name... if (cc_login_name.indexOf('%40') == -1) {
// ...then add '@domain.com' to ensure a UPN format is input var userNameValue = cc_login_name + '@' + 'domain.com';
// Populate the UPN into the userNameInput of the page, and put the focus
// on the password. document.getElementById("userNameInput").value = userNameValue; document.getElementById("passwordInput").focus(); } else {
// Otherwise, if %40 does exist in the username, replace it with the @ sign
// and populate the UPN into the userNameInput of the page, and put the
// focus on the password. var userNameValue = cc_login_name.replace('%40', '@'); document.getElementById("userNameInput").value = userNameValue; document.getElementById("passwordInput").focus(); } } } }
في هذا السطر، يجب تعديل domain.com ليتطابق مع مجال عملاء UCCE إذا تم إستخدام UPN كمعرف تسجيل الدخول.
var userNameValue = cc_login_name + '@' + 'domain.com';
ملاحظة: يستخدم AD FS تسجيل دخول UPN بشكل افتراضي. ارجع إلى دليل ميزة UCCE، الفصل تسجيل الدخول الأحادي، تخصيص صفحة تسجيل الدخول إلى AD FS إختياريا في Windows Server 2012 R2 للسماح بقسم معرف المستخدم حول كيفية تكوين صفحة تسجيل الدخول إلى AD FS للسماح بتسجيل دخول SAMAccountName.
إذا كان يجب إدخال اسم مستخدم sAMAccountName (UID بدون مجال) في صفحة تسجيل الدخول إلى AD FS، أستخدم جزء التعليمات البرمجية هذا:
// Get cc_username as login ID from HTTP Cookie header if (document.cookie) {
// If the position of cc_username in the cookie is the first position, 0... if (document.cookie.indexOf('cc_username') == 0) {
// Split the cookie into an array with the delimitor being '=' var cookies = document.cookie.split('=');
// If the first element of the array is cc_username then...
if (cookies[0] == 'cc_username') {
// ...the second element will be the actual username and we should save that. var cc_login_name = cookies[1]; } // Customize Login page: remove domain if needed to use login ID in sAMAccount form
// If the parsed login is not null, do the following logic if (cc_login_name != null) {
// If %40 (encoded '=') DOES exist in the login name... if (cc_login_name.indexOf('%40') != -1) {
// ...then split the login into an array about the @ sign and only keep the username.
var domainLogin = cc_login_name.replace('%40', '@')
var noDomainLogin = domainLogin.split('@'); var userNameValue = noDomainLogin[0];
// Populate the sAMAccountName into the userNameInput of the page, and put the focus
// on the password. document.getElementById("userNameInput").value = userNameValue; document.getElementById("passwordInput").focus(); } else {
// Otherwise, if %40 does not exist in the username, there is no "@domain",
// so populate the sAMAccountName into the userNameInput of the page,
// and put the focus on the password. document.getElementById("userNameInput").value = cc_login_name; document.getElementById("passwordInput").focus(); } } } }
ملاحظة: // الرموز في الرمز تشير إلى التعليقات. يمكن إزالة هذه الخطوط إذا كان ذلك مطلوبا. والغرض منها هو المساعدة على فهم شفرة جافاسكريبت.
الخطوة 3. احفظ onLoad.js وأعد تحميله على نسق ويب AD FS جديد باستخدام أوامر PowerShell التالية:
إنشاء نسق AD FS مخصص باستخدام القالب من النسق الافتراضي:
الفئة PS C:\> New-AdfsWebTheme -Name المخصص -SourceName الافتراضي
تعيين نسق AD FS المخصص كنشاط:
PS C:\> Set-AdfsWebConfig -ActiveThemeName مخصص
قم بتحميل ملف onload.js المعدل إلى النسق المخصص:
PS C:\> Set-AdfsWebTheme -TargetName المخصص -AdditionalFileResource @{Uri='/adfs/portal/script/onload.js'؛المسار="c:\temp\adfs\script\onload.js"}
ملاحظة: لا توجد حاجة لإعادة تشغيل AD FS. يتم تعديل النسق النشط تلقائيا.
استخدم هذا القسم لتأكيد عمل التكوين بشكل صحيح.
قم بتسجيل الدخول إلى Finesse أو CUIC باستخدام حساب تمكين SSO باستخدام sAMAccountName أو UPN كمعرف تسجيل دخول (يعتمد على تكوين AD FS) ولاحظ أنه في صفحة تسجيل الدخول إلى AD FS يتم تلقائيا ملء معرف المستخدم مع التركيز على حقل مطالبة كلمة المرور. يجب إدخال كلمة المرور فقط لمتابعة تسجيل الدخول.
يوفر هذا القسم معلومات يمكنك إستخدامها لاستكشاف أخطاء التكوين وإصلاحها.
في حالة وجود مشاكل، يتم إستخدام أدوات مطور الويب للتحقق مما إذا كانت التعديلات من onLoad.js قد تم حقنها في صفحة HTML المرجعة وإذا تم ملاحظة أي أخطاء في وحدة تحكم مستعرض الويب.