Loading
Agentforce och Einstein Generativ AI
Exempel på implementering av en säker Agentforce Serviceagent

Exempel på implementering av en säker Agentforce Serviceagent

Detaljerna för att implementera säkra Agentforce Service-agenter varierar beroende på var agenten är distribuerad och omgivande användarautentiseringspolicyer. För att få en känsla för de underliggande mönstren, låt oss titta på ett exempel.

Versioner som krävs

Tillgängliga i: Lightning Experience
Tillgängliga i: Utgåvorna Enterprise, Performance, Unlimited och Developer. Obligatoriska tilläggslicenser varierar beroende på agenttyp.

När din Agentforce Serviceagent distribueras till en Experience-webbplats kan det ibland vara nödvändigt att autentisera de användare som interagerar med din agent igen. I sådana fall kan autentisering inom sessionen åberopas.

Användare kan autentiseras genom att ge dem en parameteriserad URL i konversationen. Den parameteriserade URL:en ska referera till en säker metod på Experience Cloud-portalen. För att förbereda för extern autentisering innan den parameteriserade URL:en skickas konfigureras objektet MessagingSession med dessa egna fält.

Fält Inledande värde Definition
AuthSessionId NULL Identifierar om det för närvarande finns en AuthSession länkad till denna MessagingSession. Detta indikerar om meddelandesessionen är autentiserad.
AuthRequestTime DateTime.Now() Lagrar när autentisering begärdes, vilket begränsar MessagingSession från att tilldelas identiteter utanför det dirigerade fönstret och tillåter kontroll över den tidsram under vilken extern autentisering tillåts.
AccountId NULL Säkerställer att Kontot som är länkat till den autentiserade sessionen tilldelas i förhållande till Kontakten som autentiseras i ExperienceCloud-portalen.
ContactId NULL Säkerställer att Kontakten som är länkad till den autentiserade sessionen är tilldelad i förhållande till Kontakten som är autentiserad i ExperienceCloud-portalen.

Apex som hanterar den parameteriserade URL:en accepterar fältet MessagingSession.SessionKey. Denna globalt unika identifierare (GUID) är unik för MessagingSession-poster där Status = “Aktiv”. Denna metod söker upp de relaterade MessagingSession-posterna med denna sökfråga.

SELECT Id, Conversation.ConversationIdentifier, Status, FROM MessagingSession 
WHERE SessionKey = '1db8a0ab-aae4-4ed9-b6d5-3e7fe85b9574' AND Status = 'Active' 
AND AuthSessionId__c = NULL 

Om denna sökfråga returnerar en post representerar posten en konversation med en Agentforce Serviceagent där användaren har autentiserats. Den returnerade posten kan sedan uppdateras för att representera relationen till den aktuella AuthSession för Experience Cloud-portalen. Till exempel, om MessagingSession definieras som ms.

ms.AuthSessionId__c = SessionManagment.GetCurrentSession().get('SessionId');
User authUser = [SELECT Id, ContactId, AccountId from User WHERE Id = :UserInfo.getUserId()];
ms.AccountId__c = authUser.AccountId;
ms.ContactId__c = authUser.ContactId;
ms.commit();

Agentforce Serviceagent har nu den information den behöver för att bekräfta användarens identitet när de utför privata åtgärder. Den har även ID för AuthSession, som kan avslutas så fort konversationen i motsvarande portalsession avslutas.

I det här exemplet dirigeras användaren till en portalsida där de kommer att autentisera sig till sidan. Detta uppdaterar posten MessagingSession för Agentforce med användarens identitet. Det kommer dock inte att skapa en händelse i Agentforce sessionen utan beror på att användaren fortsätter konversationen i Agentforce, när autentiseringen är klar.

Detta flödesdiagram sammanfattar detta exempel på hur du hanterar autentisering i sammanhanget för Agentforce Service-agenter och privata åtgärder.
 
Laddar
Salesforce Help | Article