setBotAuthTokenProvider

Omnichannel for Customer Service bietet eine Reihe von Funktionalitäten, die die Möglichkeiten von Dynamics 365 Customer Service Enterprise erweitern und es Unternehmen ermöglichen, über digitale Nachrichtenkanäle sofort mit ihren Kunden in Kontakt zu treten und sich mit ihnen zu engagieren. Für den Zugriff auf Omnichannel for Customer Service ist eine zusätzliche Lizenz erforderlich. Weitere Informationen finden Sie auf den Seiten Dynamics 365 Customer Service Preisübersicht und Dynamics 365 Customer Service Preisplan.

Wenn die Botauthentifizierungstokenanbieterfunktion mit einer Rückruffunktion als Parameter aufgerufen wird, gibt sie die botAuthUrlzurück, um das Token an den Bot zu senden, und ruft die Rückruffunktion auf, um die Sichtbarkeit der Anmeldekarte festzulegen.

Syntax

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

Die Parameter

Parameter Typ Description
authTokenProvider Funktion Funktion, die, wenn sie mit einer Rückruffunktion als Parameter aufgerufen wird, die botAuthUrl zurückgibt, um das Token an den Bot zu senden, und die Rückruffunktion aufruft, um die Sichtbarkeit der Anmeldekarte festzulegen.

Rückgabewert

Bot-Authentifizierungs-URL.

Example

Im Folgenden finden Sie ein Codebeispiel, das veranschaulicht, wie Sie während des einmaligen Anmeldens ein Authentifizierungstoken an einen Azure- oder Copilot Studio-Bot übergeben können.

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-Referenz für das Livechat-SDK
Übergeben Sie das Authentifizierungstoken an den Bot während der einmaligen Anmeldung im Live-Chat