Teams Bot开发系列:Bot验证

我们今天来说一下authentication,authentication一直是一个复杂的问题。bot里的authentication也不简单。我们先来看一个概念:Bot Framework Token Service,根据官方定义,这个token service主要是:

  • Facilitating the use of the OAuth protocol with a wide variety of external services.
  • Securely storing tokens for a particular bot, channel, conversation, and user.
  • Acquiring user tokens

可以看到这个service会和外部的服务沟通,保存一些已经获取的token,这样下次再来申请token的时候Bot Framework Token Service可以返回已经保存的token。

我们以一个例子来看一下具体的做法:

BotAuth

假设用户促发了一个操作,要完成这个操作需要我们的bot调用Graph API,而调用Graph API需要有调用的Token。

  1. 用户促发了一个email请求操作

  2. 这个操作作为一个activity被发送给了Bot Framework channel service,后者把这个请求进一步发送给了我们的bot服务。

  3. 我们的bot service发现用户的activity需要一个访问Graph API的token,所以就问Token Service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤在VS2017中开发Teams Bot: 1. 安装开发工具:首先,确保你已经安装了Visual Studio 2017和Teams开发工具包。你可以从Visual Studio安装程序中选择"ASP.NET和Web开发"工作负载,以及"Microsoft Teams开发工具"选项。 2. 创建项目:在Visual Studio中,选择"文件" -> "新建" -> "项目",然后选择"ASP.NET Web应用程序(.NET Framework)"模板。给你的项目起个名字,并选择保存位置。 3. 选择模板:在"新建ASP.NET Web应用程序"对话框中,选择"空"模板,并勾选上"Web API"复选框。点击"确定"按钮创建项目。 4. 安装Teams NuGet包:在解决方案资源管理器中,右键点击你的项目并选择"管理NuGet程序包"。在NuGet包管理器中,搜索并安装"Microsoft.Bot.Builder.Teams"包。 5. 添加Bot代码:打开`Startup.cs`文件,并在`ConfigureServices`方法中添加以下代码: ```csharp services.AddSingleton<ITeamsActivityHandler, YourBotActivityHandler>(); ``` 这将注册你的Bot活动处理程序。 6. 创建Bot活动处理程序:在解决方案资源管理器中,右键点击你的项目并选择"添加" -> "新建文件夹"。创建一个名为"Bot"的文件夹。然后,在该文件夹中添加一个新类文件,命名为"YourBotActivityHandler.cs"(你可以自己取个合适的名字)。 7. 在`YourBotActivityHandler.cs`文件中,继承`TeamsActivityHandler`类,并实现你的Bot的逻辑。你可以重写父类的方法来处理不同类型的活动,比如消息、会议等。 8. 配置Bot凭据:打开`Web.config`文件,并在`appSettings`节中添加以下键值对: ```xml <add key="MicrosoftAppId" value="YOUR_APP_ID" /> <add key="MicrosoftAppPassword" value="YOUR_APP_PASSWORD" /> ``` 将"YOUR_APP_ID"和"YOUR_APP_PASSWORD"替换为你的Bot的应用程序ID和密码。 9. 调试和部署:你可以通过按下"F5"键来调试你的Bot。当它在本地运行时,你可以使用Bot Framework Emulator进行测试。当你准备好部署时,你可以发布到Azure或者任何支持ASP.NET的托管服务中。 这些是使用VS2017开发Teams Bot的基本步骤。你可以根据你的需求和功能来扩展和定制你的Bot。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值