Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const directLineTokenString = "directLineToken";
- const getDirectLineToken = async () => {
- if (!sessionStorage) return undefined;
- const now = Date.now();
- let tokenItem = undefined;
- try {
- tokenItem = JSON.parse(
- sessionStorage.getItem(directLineTokenString)
- );
- } catch (err) {
- console.error("An error occurred: " + err);
- }
- // If there is no token in storage or the token has expired
- if (!tokenItem || (tokenItem && now > tokenItem.expiration)) {
- try {
- const res = await fetch(theURL);
- const result = await res.json();
- const tokenStorageItem = {
- token: result.token,
- expiration: now + result.expires_in * 1000,
- };
- sessionStorage.setItem(
- directLineTokenString,
- JSON.stringify(tokenStorageItem)
- );
- return result.token;
- } catch (err) {
- sessionStorage.removeItem(directLineTokenString);
- console.error("An error occurred: " + err);
- return undefined;
- }
- } else {
- return tokenItem.token;
- }
- };
- (async function () {
- const token = await getDirectLineToken();
- window.WebChat.renderWebChat(
- {
- directLine: window.WebChat.createDirectLine({ token }),
- styleSet,
- store: store,
- styleOptions: styleOptions,
- },
- document.getElementById("webchat")
- );
- })().catch(async (err) => {
- console.error("An error occurred: " + err);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement