De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document wordt beschreven hoe de inlognaam van de eindgebruiker in Unified Contact Center Enterprise (UCCE) Single aanmelding (SSO) kan worden verbeterd. Dit kan worden verbeterd als de gebruiker niet wordt gedwongen om zijn inlogid-ID voor een tweede keer op de inlogpagina van de Identity Provider (IDP) in te voeren.
Cisco raadt kennis van de volgende onderwerpen aan:
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk levend is, zorg er dan voor dat u de mogelijke impact van om het even welke opdracht begrijpt.
Als u bij UCCE SSO inlogt, moet de gebruiker twee keer hun inlogid-ID invoeren: eerst op de inlogpagina van de UCCE-toepassing (Voltooien, CUIC, bijvoorbeeld) en vervolgens op de inlogpagina van IDP (als er een methode voor formulierverificatie wordt gebruikt). In het voorbeeld in dit document wordt de Active Directory Federation Service (AD FS) gebruikt als de IDP.
Wanneer SSO in UCCE is ingeschakeld, nadat de inlogid is ingevoerd en op de knop Inzenden/inloggen is gedrukt op CUIC/Finesse, wordt de ingevoerde inlogID opgeslagen in koekje cc_gebruikersnaam en bewaard voor de omleiding naar de Identity Server (IDS) en vervolgens naar de IDP. Deze cookie kan op de inlogpagina van IDP worden gebruikt om de inlogID automatisch te laten invullen.
Voor review is hier een voorbeeld HTTP/SAML stroomschema waar de eindgebruiker een Finse agent is en de UCCE toepassing een Finse server is.
Dit is een voorbeeld van de stap 4c HTTP-aanvraagheaders die door de eindgebruiker web browser naar AD FS (de IDP) worden verstuurd.
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
Met AD FS 3.0 als IDP wordt de configuratie bereikt door de wijziging van het onload.js-bestand, dat AD FS injecteert in de HTML-pagina die naar de gebruiker wordt teruggestuurd in antwoord op het verzoek aan https://<AD FS FQDN>/adfs/ls/.
Stap 1. Om het bestand.js te wijzigen, exporteert u het bestand via de PowerShell-mallen naar het bestandssysteem:
PS C:\> Export-AdfsWebTheme -Name default-DirectoryPath c:\temp\adfs\
Het bestand onload.js wordt in deze map geplaatst:
C:\temp\adfs\script
Stap 2. Afhankelijk van de inlogindeling moet u het juiste JS-codefragment toevoegen om het even welke plek in het bestand buiten de reeds aanwezige codesstructuren/logica. Voeg dit bijvoorbeeld toe aan de onderkant van het bestand.
Standaard vereist de inlogpagina die in Windows Server 2012 R2 aan SSO-gebruikers wordt gepresenteerd door AD-FS een gebruikersnaam die een UPN-formulier is. Dit is een e-mailachtig formaat, bijvoorbeeld user@cisco.com. In één domeincontactcentrum kan de inlogpagina voor AD FS worden gewijzigd om een eenvoudige sAMAAccountNameUser ID (UID) toe te staan die geen domeinnaam als deel van de gebruikersnaam bevat.
Als er een UPN-gebruikersnaam moet worden ingevoerd op de AD FS-inlogpagina, gebruikt u dit codetype:
// 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(); } } } }
Op deze regel moet domain.com worden aangepast om het domein van de UCCE-agents aan te passen als een UPN wordt gebruikt als de inlogUID.
var userNameValue = cc_login_name + '@' + 'domain.com';
Opmerking: voor AD900 wordt standaard een UPN-inlognaam gebruikt. Raadpleeg de UCCE-functiehandleiding, Single aanmelding, Optioneel aanpassen aan de inlogpagina voor AD FS-aanmelding in Windows Server 2012 R2 zodat gebruiker-ID sectie kan toestaan hoe u de ADFS-inlogpagina kunt configureren om inloggen van sAMAccountName mogelijk te maken.
Als er een gebruikersnaam (UID zonder domein) op de inlogpagina voor AD FS moet worden ingevoerd, gebruikt u dit codetekort:
// 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(); } } } }
Opmerking: de //symbolen in de code duiden op opmerkingen. Deze regels kunnen indien gewenst worden verwijderd. Hun doel is om de Javascript-code te begrijpen.
Stap 3. Sla onload.js op en laad het opnieuw op een nieuw AD FS-webthema met deze PowerShell-opdrachten:
Maak een aangepast AD FS-thema met de sjabloon uit standaardthema:
PS C:\> New-AdfsWebTheme -Name aangepaste-SourceName standaard
Stel het aangepaste AD FS-thema in als actief:
PS C:\> Set-topWebConfig-activeNaam aangepast
Laad het aangepaste bestand onload.js aan het aangepaste thema:
PS C:\> Set-AdfsWebTheme-TargetName op maat-ExtraFileResource @ {Uri="/adfs/portal/script/onload.js";path="c:\temp\adfs\script\onload.js"}
Opmerking: De AD FS hoeft niet opnieuw te worden opgestart. Het actieve thema wordt automatisch gewijzigd.
Gebruik dit gedeelte om te bevestigen dat de configuratie correct werkt.
Meld u aan bij Finse of CUIC met een SSO-enabled-account met sAMAcountName of UPN als inlogid (afhankelijk van de AD FS-configuratie) en merk op dat de gebruiker-ID op de AD FS-inlogpagina automatisch wordt ingevuld met de focus op het veld met een wachtwoord. Alleen het wachtwoord hoeft te worden ingevoerd om de inlognaam verder te kunnen zetten.
Deze sectie verschaft informatie die u kunt gebruiken om problemen met uw configuratie op te lossen.
In geval van problemen wordt het web browser Development Tools gebruikt om te controleren of de modificaties van de onload.js in de teruggegeven HTML pagina worden geïnjecteerd en of er fouten worden waargenomen in web browser console.