【发布时间】:2019-12-30 06:41:15
【问题描述】:
我正在将一个 Direcline 机器人添加到我的 SharePoint 页面中,我创建了一个内容编辑器 webpart 并在其中添加了一个 HTML 文件,在 html 文件中我使用以下代码调用该机器人,
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: 'tokenid'
}),
styleOptions,
userID:emailid ,
username:user ,
locale: 'en-US',
userAvatarInitials: 'iniital'
},
document.getElementById('webchat')
);
document.querySelector('#webchat > *').focus();
在加载机器人时,我在 chrome 中收到以下控制台错误,并且机器人无法正常工作。
拒绝连接到强>“WSS://directline.botframework.com/v3/directline/conversations/7BqkaBZaNQIKKjPc2VBAOw-h/stream水印= - &T = ew0KICAiYWxnIjogIlJTMjU2IiwNCiAgImtpZCI6ICJBT08tZXhGd2puR3lDTEJhOTgwVkxOME1tUTgiLA0KICAieDV0IjogIkFPTy1leEZ3am5HeUNMQmE5ODBWTE4wTW1ROCIsDQogICJ0eXAiOiAiSldUIg0KfQ.ew0KICAiYm90IjogIkNBU19OTFBfQm90IiwNCiAgInNpdGUiOiAiOVBrZGsxZFpfOU0iLA0KICAiY29udiI6ICI3QnFrYUJaYU5RSUtLalBjMlZCQU93LWgiLA0KICAibmJmIjogMTU3NzY4NzQ3NSwNCiAgImV4cCI6IDE1Nzc2ODc1MzUsDQogICJpc3MiOiAiaHR0cHM6Ly9kaXJlY3RsaW5lLmJvdGZyYW1ld29yay5jb20vIiwNCiAgImF1ZCI6ICJodHRwczovL2RpcmVjdGxpbmUuYm90ZnJhbWV3b3JrLmNvbS8iDQp9.PwUk4yQgpXZ_ohnTUAZzfnvG5NQTteaLvX5iDDPbC6nFrs_S7pICngcldf_R8ujPDFBQISSXNc3O7fF5ndX3Qqk8SHPl1jM2yOV0tkqxKu-C- 4OvTr2sDW_k7vmGpvNQQrbiAQvVrimNydrr3a6B2coQlvNes1CdZopsi01wnanDNmXErJBkQnCQ0-yQvkSSP7PiiC8eQewUsVT6onCsvBpwWj-CoZ6TBmWZdYUcGtZRx1WkqyZwKvRbKtyqvr_S7jBfZlL51DozYBEQ4_C0bt2R2p-7MTlE6egUi9ZTSTNklVlIFBqw7_hdWR92NLsWZqWewGUb2RvapYaTpWObuA”,因为它违反的F ollowing 内容安全策略指令:“default-src https: data: 'unsafe-inline' 'unsafe-eval'”。请注意,'connect-src' 没有显式设置,因此 'default-src' 用作备用。
因为在我的 web.config 文件中我确实有这个 CSP 标头。
<add name="Content-Security-Policy" value="default-src https: data: 'unsafe-inline' 'unsafe-eval'" />
删除此标头后,我就可以运行机器人并使其正常工作。但我不想在我的 web.config 文件中删除此标头,我想明确提及此 botframework URL,以便它允许机器人运行。
所以请帮助我如何明确设置此标头以允许所需的脚本运行机器人。
【问题讨论】:
-
要么将
wss:添加到您的default-src指令中,要么添加connect-src wss:指令+值。 -
非常感谢您的回复,我已经在我的 default-src 中添加了 wss: 并且它起作用了
标签: web-config botframework sharepoint-2013 content-security-policy direct-line-botframework