Как использовать бот-фреймворк BotAuthentication v3 - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь составить проактивное сообщение согласно это .

Я могу понять, как это сделать. Я беспокоюсь о безопасности. Поэтому я пытаюсь использовать BotAuthentication . Но я не знаю, как им пользоваться. Пытался добавить токен согласно это .

Но это кажется бесполезным. Как использовать BotAuthentication? Кстати, а о безопасности надо беспокоиться?

введите описание изображения здесь

using Bot.Dialogs.FAQ.Liquidation;
using Bot.Dialogs.Menu;
using Bot.Resources;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Connector;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Resources;
using System.Threading.Tasks;
using System.Web.Http;

namespace Bot
{
    [BotAuthentication]
    public class CustomWebAPIController : ApiController
    {

        [HttpGet]
        [Route("api/CustomWebAPI")]
        public async Task<HttpResponseMessage> SendMessage()
        {
            try
            {
                if (!string.IsNullOrEmpty(ConversationStarter.conversationReference))
                {
                    await ConversationStarter.Resume(); //We don't need to wait for this, just want to start the interruption here

                    var resp = new HttpResponseMessage(HttpStatusCode.OK);
                    resp.Content = new StringContent($"<html><body>Message sent, thanks.</body></html>", System.Text.Encoding.UTF8, @"text/html");
                    return resp;
                }
                else
                {
                    var resp = new HttpResponseMessage(HttpStatusCode.OK);
                    resp.Content = new StringContent($"<html><body>You need to talk to the bot first so it can capture your details.</body></html>", System.Text.Encoding.UTF8, @"text/html");
                    return resp;
                }
            }
            catch (Exception ex)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
            }
        }

    }
}

1 Ответ

0 голосов
/ 23 июня 2020

Вам не нужно обрабатывать аутентификацию бота. Это делается с помощью SDK.

Вы не должны использовать версию 3, поскольку она устарела и больше не разрабатывается. V4 - текущая версия.

Здесь - это документация по проактивным сообщениям V4.

И здесь - это образец, который показывает, как использовать проактивные сообщения. сообщения.

...