2017-12-06 1 views
0

나는 Microsoft BotFramework 및 node.js를 사용하여 대화방을 개발하고 webchat에 배포했습니다. this 문서에 따르면, 봇의 비밀 정보는 한 번의 대화에 대해서만 유효한 임시 토큰 't'로 대체 될 수 있습니다.MS BotFramework WebChat URL의 임시 토큰 문제

그러나이 토큰의 수명은 30 분이며이 시간 창 내에 일부 침입자가 전체 URL에 액세스하는 경우 문제가 발생합니다. "https://webchat.botframework.com/embed/YOUR_BOT_ID?t=YOUR_TOKEN_HERE&userid=some_user_id"그러면 모든 사용자의 데이터를 가져 오는 것이 단지 어린이의 놀이 일뿐입니다 다른 컴퓨터에서 실제 사용자의 채팅을 모방하기 때문입니다.

는 BotFramework의 어떤 다른 컴퓨터에서 열 수있는 동일한 토큰 URL을 제한하는 수행 할 수 있습니다 ( 는 DirectLine에서 떨어져)이 있습니까?

답변

1

당신과 같은 사건에 직면 해있는 GH에 issue가 있으며, 의견과 함께, 우리는이 상황이 현재 바뀌지 않는다는 것을 알 수 있습니다.

그러나, 우리는 주석에서 몇 가지 힌트를 얻을 수 있습니다 :

궁극적으로, 당신은 클라이언트의 비밀/토큰을 숨길 수 없습니다.

  • URL에서 제거하려는 경우 JS 컨트롤을 직접 호스팅 할 수 있습니다.
  • 페이지 소스에서 제거하려는 경우 쿠키에 값을 전달하고 웹 페이지의 JS에서 읽을 수 있습니다.

그러나 모든 경우에 값을 메모리에 사용할 수 있습니다.

iframe 및 yout bot 응용 프로그램에서 브리지로 다른 간단한 웹 사이트를 직접 만들 수 있다고 생각합니다. 이 웹 사이트의 세션에서 고유 한 사용자인지 여부를 제한 할 수 있습니다. 또한 Bot WebChat을 인스턴스화하기 전에 사용자를 확인할 수 있습니다.

+0

그건 좋은 대안이 될 것입니다! 고마워요 @Gary –