LuisDialogを使用するときにMSボットパスワードを動的に渡す必要があります。LuisDialog使用時にボットパスワードを渡す
私はシステムメッセージを処理するときに問題なく処理できました(私のコードのelseセクションを参照してください)。しかし、Luis Diaogを使用する場合は、コネクタオブジェクトを使用していないので、例外が発生しています。
I持って次のコード:
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
try
{
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl), m_botAppId, m_botAppPassword);
if (activity.Type == ActivityTypes.Message)
{
// *how to pass the bot app password here???*
await Conversation.SendAsync(activity,() => new IntentHandler(m_cmConnectionString, m_luisModelId, m_luisModelKey, m_tfsUser, m_tfsPassword));
}
else
{
var reply = HandleSystemMessage(activity);
if (reply != null)
{
await connector.Conversations.ReplyToActivityAsync(reply);
}
}
return Request.CreateResponse(HttpStatusCode.OK);
}
なぜ私は動的にパスワードを渡す必要がありますか? シークレットをプレーンテキストファイルに保存してチェックインしたくないため、同じサブスクリプションにアクセスできるユーザーはシークレットをプレーンテキストとして見ることができるため、Azure.AppSettingsにプレーンテキストとして保存したくないためです。 したがって私は暗号化された秘密を保存し、それを動的に解読し、それをボットフレームワークに渡す必要があります。
なぜBotPasswordをLuisDialogに渡す必要がありますか? BotAuthentication属性を使用していませんか? –
いいえ私は属性を使用していません、私はそれを暗号化して解読したいので、何とかそれを渡す必要があります –
何を暗号化/解読?なぜ、ダイアログボックスのパラメータとしてパスワードを渡すことができないのですか? –