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.
- Přejděte na Azure Portal.
- Přejděte k prostředku robota Azure. V části Robot Nastavení vyberte Kanály.
- 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.
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í.
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 .
Vyberte kartu Přímá čára a pak web, pro který chcete získat klíč, například Default_Site. Azure otevře podokno Konfigurace webu .
V části Tajné klíče vyberte ikonu oka vedle odpovídajícího klíče.
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.
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:
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:
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.
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í:
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.
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);
}
}
}