簡體   English   中英

Microsoft Bot Framework,如何驗證用戶登錄 Web 應用程序

[英]Microsoft Bot Framework, How to authenticate user to login in web app

我怎樣才能讓用戶從 bot 登錄到我的網站,然后當用戶要求 bot 首先檢查用戶是否在我的網站上通過身份驗證,如果沒有重定向到網站登錄。 我已經在 bot 中使用登錄卡進行了登錄,並傳遞了 activity.user.id,但我不知道如何在用戶登錄或未登錄的情況下檢索信息。

ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
Activity reply = activity.CreateReply($"Well hello there. What can I do for you today?");
await connector.Conversations.ReplyToActivityAsync(reply);

var id = activity.From.Id;
reply.Attachments = new List<Attachment>();
List<CardAction> cardButtons = new List<CardAction>();
CardAction plButton = new CardAction()
{
    Value = $"http://myapp.azurewebsites.net/Account/Login?userid='{id}'",
    Type = "signin",
    Title = "Connect"
};

cardButtons.Add(plButton);
SigninCard plCard = new SigninCard("You need to authorize me", new List<CardAction>() 
        { plButton });

Attachment plAttachment = plCard.ToAttachment();
reply.Attachments.Add(plAttachment);
var replyt = await connector.Conversations.SendToConversationAsync(reply);

您可以閱讀這篇文章https://tsmatz.wordpress.com/2016/09/06/microsoft-bot-framework-bot-with-authentication-and-signin-login/
和示例 github 代碼https://github.com/tsmatsuz/AuthDemoBot

當您的 Web 應用程序(網站)在瀏覽器中打開時,頁面將重定向到登錄 URL。 用戶登錄(登錄成功)后,您的 Web 應用程序可能會獲得一些經過身份驗證的安全令牌。 使用 Bot Framework api,您的 Web 應用程序將給定的令牌作為用戶狀態存儲到機器人狀態服務中。 (此時,用戶 id 用作標識符。)用戶可以關閉您的 Web 應用程序(Web 瀏覽器)。
最后,當用戶在您的機器人中輸入一些聊天內容時,您的機器人(在服務器端)可以從機器人狀態服務中檢索先前的令牌。 (從現在開始,這個機器人可以使用這個檢索到的令牌調用一些 api。)

在此處輸入圖片說明

圖片來源:松崎剛

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM