問題タブ [web-chat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
381 参照

authentication - HTML ファイルの JavaScript から Bot Framework v4 の Microsoft Web チャット コントロールに認証する正しい方法は何ですか?

私の目標は、この Microsoft Bot Framework v4 Web チャット コントロールを実行する JavaScript を使用して HTML ページを作成することです。

https://github.com/Microsoft/BotFramework-WebChat

このStackOverflowの質問のコメントで説明されているように

アダプティブ カードの Microsoft Bot Framework の画像サイズ

ここのサンプルコードをたどってみました

https://github.com/compulim/BotFramework-MockBot

具体的には

BotFramework-WebChat-master\samples\01.a.getting-started-full-bundle

しかし、それを機能させることができませんでした。上記の別の質問で、Microsoft サポートから別の方法で認証するように言われました。

ヘッダーに Authorization: Bearer を指定して、https ://directline.botframework.com/v3/directline/tokens/generateへの POST 要求を行う必要があります。または、代わりに const token = を直接使用することもできます

ただし、上記のサンプル コードでは、

ボットと対話するには、Direct Line シークレットを使用して交換されたトークンを使用する必要があります。Direct Line シークレットをブラウザーまたはクライアント アプリに配置しないでください。

上記のコードが HTML ファイルに含まれる JavaScript である場合、そのページを読み込んだすべてのユーザーがソースを表示すると表示されます。

DirectLine シークレットを使用すると、このシークレットを公開しないという規則に違反しているように見えます。これにより、現在の会話だけでなく、すべての会話へのアクセスが提供される可能性があることがわかりました。

プレーン ビューの JS コードが DirectLine シークレットを使用してトークンを取得し、トークンを使用して認証する場合、DL シークレットが公開されているため、トークンを使用しても何も達成されないようです。DLシークレットを使用しないのはなぜですか?

上記にリンクされている Web チャット コントロールを認証するための、Microsoft が推奨する最も簡単な方法は何ですか?

ありがとう!

0 投票する
1 に答える
168 参照

c# - .NET Core 2.2 - バックチャネルを使用して、ユーザーが Web チャットに入力する前にボットのウェルカム メッセージを表示する方法

ユーザーが最初に入力して Web チャットで会話を開始する必要なく、チャットボットに最初のウェルカム メッセージを表示させようとしています。

バックチャネルを使用するこのソリューションを見つけました:ここ

しかし、ApiController クラスは非推奨になっているため、.NET core 2.2このソリューションは使用できません。

MessagesController.cs

このため、ソリューションで提供されている上記のサンプル コードでは、現在のコンテキストに「会話」と「要求」が存在しません。で動作する上記のソリューションのバージョンを探してい.NET core 2.2ます。