Condividi tramite


setBotAuthTokenProvider

Multicanale per Customer Service offre una suite di funzionalità che estendono le funzionalità avanzate di Dynamics 365 Customer Service Enterprise per consentire alle organizzazioni di connettersi e interagire immediatamente con i clienti attraverso i canali di messaggistica digitale. È necessaria una licenza aggiuntiva per accedere a Multicanale per Customer Service. Per altre informazioni, vedere le pagine Panoramica dei prezzi di Dynamics 365 Customer Service e Piano tariffario di Dynamics 365 Customer Service.

La funzione del provider di token di autenticazione del bot, quando viene chiamata con una funzione di callback come parametro, restituisce botAuthUrlper inviare il token al bot e richiama la funzione di callback per impostare la visibilità della scheda di accesso.

Sintassi

Microsoft.Omnichannel.LiveChatWidget.SDK.setBotAuthTokenProvider(authTokenProvider);

Parametri

Parametro TIPO Description
authTokenProvider Funzione Funzione che, quando viene richiamata con una funzione di callback come parametro, restituisce la botAuthUrl funzione per inviare il token al bot e richiama la funzione di callback per impostare la visibilità della scheda di accesso.

Valore restituito

URL di autenticazione del bot.

Example

Di seguito è riportato un esempio di codice che illustra come passare un token di autenticazione a un bot di Azure o Copilot Studio durante l'accesso Single Sign-On.

const signInIds = [];
window.Microsoft.Omnichannel.LiveChatWidget.SDK.setBotAuthTokenProvider(async (botTokenUrl, callback) => {
  const urlSearchParams = new URLSearchParams(botTokenUrl);
  const signInId = urlSearchParams.get("state");

  if (signInIds.includes(signInId)) { // Ignore authenticated sign-in cards
    callback({show: false});  // Hide card
    return;
  }

  signInIds.push(signInId);

  const authUrl = ""; // Customer's Authentication API
  const authResponse = await fetch(authUrl, method: "POST"});
  const {token} = authResponse;  // Customer's Auth Token

  const data = {
    token: "token"
  };

  const payload = {
    method: "POST",
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify(data)
  };

  try {
    const botAuthResponse = await fetch(botTokenUrl, payload); // Posts Auth Token to Bot directly
    
    // Sign in through Bot is successful
    if (botAuthResponse.status === 200) {
      signInIds.push(signInId); // Track authenticated sign-in card
      callback({show: false}); // Hide card
    }

    if (botAuthResponse.status === 404 || botAuthResponse.status == 202) {
      callback({show: false}); // Hide card
      return;
    } else {
      // Other condition handling    
    }

    return;
  } catch (error) {
  
  }

  callback({show: true});  // Show sign-in card by default
});

Informazioni di riferimento sull'API JavaScript per l'SDK della chat dal vivo
Passa il token di autenticazione al bot durante l'accesso Single Sign-On nella chat dal vivo