שתף דרך


setAuthTokenProvider

'‏‫ריבוי ערוצים‬ לשירות לקוחות' מציע חבילת יכולות המרחיבות את העוצמה של Dynamics 365 Customer Service Enterprise כדי לאפשר לארגונים להתחבר באופן מיידי ולתקשר עם הלקוחות שלהם באמצעות ערוצים להעברת הודעות דיגיטליות. נדרש רישיון נוסף כדי לגשת ל'ריבוי ערוצים עבור Customer Service'. למידע נוסף, עיין בדפים סקירת מחירי Dynamics 365 Customer Service ותוכנית המחירים של Dynamics 365 Customer Service.

מגדיר את ספק אסימון האימות.

פונקציית ספק אסימון האימות, כאשר היא נקראת עם פונקציית התקשרות חוזרת כפרמטר, מפעילה את פונקציית ההתקשרות החוזרת עם מחרוזת חוקית של JSON Web Token (JWT) כארגומנט.
שיטה זו מעלה שגיאה אם ערך הפרמטר authTokenProvider אינו פונקציה.

חשוב

  • בתוכן המנה של אסימון JWT, הערך שסופק עבור lwicontexts המפתח צריך להיות ההקשר המותאם אישית הסדרתי.
  • ההקשר המותאם אישית הוא אוסף של זוגות מפתח/ערך. רק ערכים פרימיטיביים מותרים לכל מפתח.
  • המפתחות של הקשר מותאם אישית חייבים להתאים למשתני הקשר שנוצרים עבור זרם העבודה המשויך בריבוי ערוצים עבור Customer Service.
  • ספק אסימון האימות יופעל על ידי ווידג'ט צ'אט חי בעת התחלת צ'אט חדש.

הערה

יש להפעיל את שיטות ה-SDK של הצ'אט החי לאחר העלאת האירוע lcw:ready . אתה יכול להאזין לאירוע זה על ידי הוספת מאזין אירוע משלך לאובייקט החלון.

SDK זה ישים רק אם אימות מופעל עבור הווידג'ט. כדי לאפשר אימות עבור הרכיב הגרפי שלך, ראה יצירת הגדרות אימות צ'אט.

תחביר

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

פרמטרים

פרמטר סוג תיאור
authTokenProvider פונקציה פונקציה שכאשר היא מופעלת עם פונקציית callback כארגומנט, מביאה את אסימון JWT ומפעילה את פונקציית ה-callback עם אסימון JWT כארגומנט שלה

ערך החזרה

ללא

דוגמה

מטען אסימון לדוגמה

{
    "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 ספק האסימונים של Auth לא סיפק שום אסימון
4 ספק אסימון אימות סיפק אסימון לא חוקי

חומר עזר ל- API של JavaScript עבור SDK של צ'אט חי