setAuthTokenプロバイダ

Customer Service 用オムニチャネルには、Dynamics 365 Customer Service Enterprise の機能を拡張する一連の機能が用意されていて、組織はデジタル メッセージング チャネルを通して顧客と即座につながり、やり取りできるようになります。 Customer Service 用オムニチャネルにアクセスする際は、追加のライセンスが必要です。 詳細については、Dynamics 365 Customer Service 価格の概要 と Dynamics 365 Customer Service 価格プラン ページを参照してください。

認証トークン プロバイダーを設定します。

認証トークン・プロバイダ関数は、コールバック関数をパラメータとして呼び出すと、有効なJSON Webトークン(JWT)文字列を引数としてコールバック関数を呼び出します。
このメソッドは、 authTokenProvider パラメーターの値が関数でない場合にエラーを発生させます。

Important

  • JWT トークンのペイロードでは、キーに指定された値は、シリアル化されたカスタム コンテキストである必要があります lwicontexts 。
  • カスタムコンテキストは、キーと値のペアのコレクションです。 どのキーでもプリミティブ値のみが許可されます。
  • カスタム コンテキストのキーは、Customer Service 用オムニチャネルの関連付けられた作業ストリームに対して作成されたコンテキスト変数に対応している必要があります。
  • 認証トークンプロバイダーは、新しいチャットを開始するときにライブチャットウィジェットによって呼び出されます。

注

ライブ チャット SDK メソッドは、 lcw:ready イベント が発生した後に呼び出す必要があります。 このイベントをリッスンするには、ウィンドウオブジェクトに独自のイベントリスナーを追加します。

この SDK は、ウィジェットの認証が有効になっている場合にのみ適用されます。 ウィジェットの認証を有効にするには、「 チャット認証設定の作成」を参照してください。

構文

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

パラメーター

パラメーター タイプ Description
authTokenProvider 機能 コールバック関数を引数として呼び出すと、JWTトークンをフェッチし、JWTトークンを引数としてコールバック関数を呼び出す関数

戻り値

None

Example

サンプル トークン ペイロード

{
    "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",
    "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\"}",
    "iat" : 1542622071,
    "iss" : "contosohelp.com",
    "exp" : 1542625672,
    "nbf" : 1542622072
}

注

上記のペイロードでは、キーに対応する値はシリアル化されたカスタム コンテキストである lwicontexts 必要があります。 シリアル化されたカスタム コンテキストのキー msdyn_cartvalue と msdyn_isvip は、Customer Service 用オムニチャネルの関連付けられた作業ストリームに対して作成されたコンテキスト変数に対応します。

let payloadToEncrypt = {
    "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",
    "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\"}",
    "iat" : 1542622071,
    "iss" : "contosohelp.com",
    "exp" : 1542625672,
    "nbf" : 1542622072
};

function convertToJwtToken(payloadToEncrypt){
    // Ideally, you call your service to convert the payload to a valid JWT token
    return Promise.resolve("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4N2I0ZDA2Yy1hYmMyLWU4MTEtYTliMC0wMDBkM2ExMGUwOWUiLCJsd2ljb250ZXh0cyI6IntcIm1zZHluX2NhcnR2YWx1ZVwiOlwiMTAwMDBcIiwgXCJtc2R5bl9pc3ZpcFwiOlwiZmFsc2VcIn0iLCJpYXQiOjE1NDI2MjIwNzEsImlzcyI6ImNvbnRvc29oZWxwLmNvbSIsImV4cCI6MTU0MjYyNTY3MiwibmJmIjoxNTQyNjIyMDcyfQ.r37z1M5rMyRYMOJ-rhyTRYFOgvl9N7KvTMueSFPkiuM");
}

window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
// Sets the auth-token provider
// Throws error if authTokenProvider is not a function
    convertToJwtToken(payloadToEncrypt).then(function (jwtToken){
        Microsoft.Omnichannel.LiveChatWidget.SDK.setAuthTokenProvider(function authTokenProvider(callback){
            callback(jwtToken);
        });
    });
});

エラー コード

この方法では、次のエラーが発生する可能性があります。

エラー コード エラーメッセージ
2 認証トークン プロバイダーメソッドの実行に失敗しました
3 認証トークン プロバイダーがトークンを提供しなかった
4 認証トークン プロバイダーが提供した無効なトークン

ライブチャットSDKのJavaScript APIリファレンス