botframework - AAD 身份验证 Directline & Teams,禁用安全代码
问题描述
我想让用户在 Teams 和 Directline(在网页上呈现)中的 v4 机器人中进行身份验证,并尽可能少地进行用户交互。我的代码基于 MS BOT Samples Github: BotAuthenticationMSGraph 并且除了配置设置之外根本没有改变。
现在,直达线路会弹出一个额外的选项卡,如果需要会显示用户名/密码登录,并始终显示六位代码供用户复制/粘贴到聊天窗口中。这样就完成了身份验证。
现在,在团队中,除了输入凭据(如果需要)后弹出窗口在看到代码之前关闭的问题之外,操作是相同的。但是,如果我在浏览器中手动完成该过程,将代码粘贴到团队中即可成功完成登录。
如何禁用对六位数代码的需求?此外,如果有人知道防止团队登录弹出窗口提前关闭的修复程序,请告诉我。
解决方案
您可以使用OAuthCards在 Microsoft Teams 中进行身份验证。
https://github.com/Microsoft/BotFramework-WebChat/issues/1001#issuecomment-434530463是一种涉及网络聊天的解决方案,它与 AAD 一起使用,没有魔法代码。
https://github.com/Microsoft/BotBuilder/issues/4632#issuecomment-441957719(这里参考@compulim 的评论,他是Web Chat 的开发者,并指定了消除魔术代码流的步骤)。
此外,这解释了更安全且用户不需要处理任何“魔术代码”的机制。此外,如果您的浏览器设置为阻止 3rd 方 cookie,它将再次退回到神奇的代码流。
关于您关于团队登录弹出窗口提前关闭的最后一个问题,请参阅处理类似问题的这个GitHub 问题。
希望这可以帮助。
推荐阅读
- fast-ai - 如何为数字列表创建数据块作为输入?
- mongodb - 如何根据所需文档获取 objectID 并使用 groovy 将其存储在变量中?
- java - SonarLint:未经检查的异常声明
- reactjs - 是否有使用 React 开发三星电视(Tizen)应用程序的正确方法?
- c# - 如何将值添加到小数位
- sql - 我想动态更改结果集列名
- javascript - 具有 setInterval 功能的自动图像滑块不起作用
- json - 清单不是有效的 JSON。行:12,列:2,不允许尾随逗号
- android - 应用程序链接在 Android 中无法按预期工作
- python - 如何在 python 中使用安装文件安装私有 github 存储库