2017-04-11 29 views
0

我想用「https://webchat.botframework.com/embed/QuizHS?s=YOUR_SECRET_HERE」將它與Web應用程序集成。 但是,我希望通過將令牌傳遞給它來保護會話,因爲密鑰在查詢字符串中,所以沒有人可以直接複製上面的鏈接並將其用於任何其他應用程序,因爲此數據包含機密數據。如何保護我的Microsoft博特框架iframe的網上聊天網址

+0

如果您可以通過Web應用程序進行服務器調用,則可以通過向「https://webchat.botframework.com/api/tokens」發出GET請求來請求令牌,並將您的Web聊天祕密授權標題。然後你可以在你的網絡聊天網址的查詢字符串中使用「t =」而不是「s =」並傳遞獲得的令牌。請參閱https://docs.botframework.com/en-us/support/embed-chat-c​​ontrol2/#option-1---keep-your-secret-hidden-exchange-your-secret-for-a-token-並生成嵌入以獲取更多細節。 – raj

+0

使用[鏈接](https://docs.botframework.com/en-us/support/embed-chat-c​​ontrol2/),我能夠生成令牌,但我需要再次發送此令牌作爲查詢字符串參數安全。我們不能隱藏用戶,仍然使用網聊網址嗎? –

+0

謝謝拉傑,我只是這麼做的。與此同時,我發送帶有令牌的網絡聊天網址到我的手機,並且我從手機和筆記本上打開了該鏈接。它在兩個位置都打開並且共享數據。這是安全問題。我不希望其他人只通過特定的應用程序直接使用鏈接。 –

回答

0

這是由丹·德里斯科爾這裏廣泛回答:https://github.com/Microsoft/BotFramework-WebChat/issues/428

爲了這個討論的目的,我們要處理祕密和 令牌是一樣的。如果您想要 ,我們可以稍後詳細介紹。我現在將它們稱爲「祕密/標記」。

要訪問的談話,你需要祕密/令牌和對話 ID。這些值有時會粘在一起,有時會分開變量。有時他們在URL中,有時他們被存儲在JavaScript中的內存中。這些與存儲在用戶的Cookie中的用戶令牌類似。

在所有情況下,這些值都坐在自己 自己的計算機的用戶訪問。他們可以閱讀他們自己的URL,他們可以閱讀他們自己的 JavaScript變量狀態,並且他們可以讀取他們自己的cookie。

如果他們發送任何信息給別人,那個人可以 模仿他們。如果我的銀行通過電子郵件將密碼重置鏈接發送給我,並且我與其他人共享該密碼,那麼此人可以重置我的帳戶 密碼並登錄到我的帳戶。

我們的iFrame使用URL來傳遞這些參數,因爲這是在許多情況下,適當的 級別的安全性。 (你曾經訪問過的網站, 人工提取的URL的iframe,把它交給別人,並 期待您的會話​​保持私有嗎?也許不是。)

如果你想額外的安全性,你可以跳過iFrame並在JS或cookie中發送您自己的祕密/令牌。你的JS可以解壓並將其發送到Web Chat JS對象。一旦Web Chat具有祕密/令牌, 專門使用HTTP授權標頭將這些值發送到Direct Line服務的 。