Sdílet prostřednictvím


Připojit robota k Direct Line

Tento článek popisuje, jak připojit robota k kanálu Direct Line . Pomocí tohoto kanálu můžete komunikovat s robotem prostřednictvím klientské aplikace.

Poznámka:

Direct Line je standardní kanál přes protokol HTTPS, který umožňuje komunikaci mezi klientskou aplikací a robotem. Pokud místo toho potřebujete izolaci sítě, použijte rozšíření Direct Line App Service přes WebSockets.

Předpoklady

  • Účet Azure. Pokud ho ještě nemáte, vytvořte si před zahájením bezplatný účet .
  • Existující robot publikovaný do Azure.

Přidání kanálu Direct Line

První věcí, kterou musíte udělat, je přidání kanálu Direct Line do robota.

  1. Přejděte na Azure Portal.
  2. Přejděte k prostředku robota Azure. V části Robot Nastavení vyberte Kanály.
  3. V seznamu Dostupných kanálů vyberte Přímý řádek.

Robot je teď nakonfigurovaný tak, aby používal Direct Line pomocí výchozího webu.

Alternativně můžete místo výchozího webu přidat nový web. Vyberte tlačítko Nový web na stránce kanálu Direct Line a vytvořte nový web. Direct Line new site button in Azure portal

Správa tajných klíčů

Když přidáte přímý kanál, bot Framework vygeneruje tajné klíče. Vaše klientská aplikace tyto klíče používá k ověření požadavků rozhraní DIRECT Line API, které se týkají komunikace s robotem. Další informace najdete v tématu Ověřování.

  1. Pokud chcete zobrazit tajný kód přímého řádku webu ve formátu prostého textu, přejděte na stránku kanálu Direct Line .

  2. Vyberte kartu Přímá čára a pak web, pro který chcete získat klíč, například Default_Site. Azure otevře podokno Konfigurace webu .

  3. V části Tajné klíče vyberte ikonu oka vedle odpovídajícího klíče.

    Show Direct Line keys

  4. Klíč zkopírujte a bezpečně uložte. Pomocí klíče ověřte požadavky rozhraní DIRECT Line API, které vaše klientská aplikace řeší při komunikaci s robotem.

    Poznámka:

    Tajné kódy by neměly být vystaveny ani vloženy do klientských aplikací. Viz další krok.

  5. Osvědčeným postupem je použít rozhraní API direct line k výměně klíče pro token. Klientská aplikace pak použije token k ověření svých požadavků v rámci jedné konverzace.

Konfigurace nastavení

Konfigurace nastavení webu:

  1. Na stránce Kanálu Direct Line vyberte web, který chcete konfigurovat ze seznamu Weby . Otevře se podokno Konfigurace webu , které je znázorněno níže: Configure site pane

  2. Vyberte verzi protokolu Direct Line, kterou bude vaše klientská aplikace používat ke komunikaci s robotem.

    Tip

    Pokud vytváříte nové připojení mezi klientskou aplikací a robotem, použijte rozhraní API Direct Line 3.0.

  3. Po dokončení vyberte Použít a uložte konfiguraci lokality. Opakujte tento proces počínaje novou lokalitou pro každou klientskou aplikaci, kterou chcete připojit k robotovi.

Konfigurace rozšířeného ověřování

Jednou z dostupných konfigurací lokality je rozšířené možnosti ověřování, které pomáhají zmírnit rizika zabezpečení při připojování k robotovi (například pomocí ovládacího prvku Webový chat). Další informace naleznete v tématu Rozšířené ověřování direct line.

Přidání rozšířeného ověřování:

  1. Povolte možnosti vylepšení ověřování. Zobrazí se zpráva "Musíte mít aspoň jeden důvěryhodný původ". Zobrazí se odkaz Přidat důvěryhodný zdroj . Pokud povolíte rozšířené ověřování, musíte zadat alespoň jeden důvěryhodný zdroj.

    Důvěryhodný původ je doména, kterou systém používá k ověřování uživatelů. V tomto případě Direct Line používá doménu k vygenerování tokenu.

    • Pokud nakonfigurujete důvěryhodné zdroje jako součást stránky uživatelského rozhraní konfigurace, budou se tato nastavení vždy používat jako jediná sada pro generování tokenu. Odesílání dalších důvěryhodných zdrojů (nebo nastavení důvěryhodných zdrojů na žádné) při generování tokenu nebo spuštění konverzace bude ignorováno (nepřidají se k seznamu nebo křížově ověřeny).
    • Pokud jste nepovolili rozšířené ověřování, použije se žádná počáteční adresa URL, kterou odešlete jako součást volání rozhraní API. Add trusted origin
  2. Po přidání důvěryhodné adresy URL domény vyberte Použít.

Příklad robota Direct Line

Příklad .NET si můžete stáhnout z tohoto umístění: Ukázka robota Direct Line.

Příklad obsahuje dva projekty:

  • DirectLineBot. Vytvoří robota pro připojení přes kanál Direct Line.
  • DirectLineClient. Jedná se o konzolovou aplikaci, která komunikuje s předchozím robotem prostřednictvím kanálu Direct Line.

Direct Line API

  • Přihlašovací údaje pro rozhraní API direct line musí být získány z registrace robota Azure a umožní volajícímu připojit se pouze k robotovi, pro kterého byly vygenerovány. V projektu robota aktualizujte appsettings.json soubor těmito hodnotami.

    {
    "MicrosoftAppId": "",
    "MicrosoftAppPassword": ""
    }
    
  • Na webu Azure Portal povolte direct line v seznamu kanálů a pak nakonfigurujte tajný klíč Direct Line. Ujistěte se, že je zaškrtnuté políčko verze 3.0. V projektu klienta konzoly aktualizujte App.config soubor tajným klíčem Direct Line a popisovačem robota (ID robota).

    <appSettings>
        <add key="DirectLineSecret" value="YourBotDirectLineSecret" />
        <add key="BotId" value="YourBotHandle" />
    </appSettings>
    

Uživatelské zprávy se posílají robotovi pomocí metody Direct Line Client Conversations.PostActivityAsync pomocí ConversationId vygenerované dříve.

while (true)
{
    string input = Console.ReadLine().Trim();

    if (input.ToLower() == "exit")
    {
        break;
    }
    else
    {
        if (input.Length > 0)
        {
            Activity userMessage = new Activity
            {
                From = new ChannelAccount(fromUser),
                Text = input,
                Type = ActivityTypes.Message
            };

            await client.Conversations.PostActivityAsync(conversation.ConversationId, userMessage);
        }
    }
}