Del via


setBotAuthTokenProvider

Omnikanal til Customer Service tilbyder en række funktioner, der kan udvide styrken i Dynamics 365 Customer Service Enterprise til at gøre det muligt for organisationer at oprette umiddelbar forbindelse og kommunikere med deres kunder på tværs af digitale meddelelseskanaler. Der skal bruges en ekstra licens for at få adgang til Omnikanal til Customer Service. Du kan finde flere oplysninger på siderne Dynamics 365 Customer Service-prisoversigt og Dynamics 365 Customer Service-prissætningsplan.

Når funktionen til udbyder af robotgodkendelsestoken kaldes med en tilbagekaldsfunktion som parameter, returnerer botAuthUrlden to send tokenet til robotten og aktiverer tilbagekaldsfunktionen for at angive logonkortets synlighed.

Syntaks

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

Parametre

Parameter Type Beskrivelse
authTokenProvider Funktion Funktion, der, når den aktiveres med en tilbagekaldsfunktion som parameter, returnerer botAuthUrl for at sende tokenet til botten og aktiverer tilbagekaldsfunktionen for at angive logonkortets synlighed.

Returværdi

URL-adresse til robotgodkendelse.

Eksempel

Her er et kodeeksempel, der illustrerer, hvordan du kan overføre et godkendelsestoken til en Azure- eller Copilot Studio-robot under enkeltlogon.

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
});

JavaScript API-reference til SDK til livechat
Videregiv godkendelsestoken til bot under enkeltlogon i livechat