Microsoft 团队 bot 身份验证空白屏幕

Microsoft teams bot authentication blank screen

正在尝试为基于 this doc 的机器人身份验证设置身份验证流程。

我对很多事情感到困惑:Microsoft 团队机器人的身份验证流程似乎与机器人框架身份验证流程不同。一个有回调和登录卡,另一个有某种对话过程?

  1. 我知道团队会打开一个弹出窗口到我的 auth 站点,然后我的 auth 站点会在某一时刻调用 notifySuccess。但是 Microsoft 团队 npm 包如何知道 auth/notifySuccess 到哪里?该软件包似乎不需要任何类型的聊天 ID 或机器人 ID。 example

  2. 我可以寄回登录卡

    let signinCard = CardFactory.heroCard(
          'Click below to sign in',
          null,
          [
              {
                  type: ActionTypes.Signin,
                  value: 'https://localhost:4200/bot/auth/login',
                  title: 'Sign in'
              }
          ])
    await context.sendActivity({ attachments: [signinCard] });

清单有效域

  "validDomains": [
    "localhost",
    "*.ngrok.io",
    "token.botframework.com"
  ]

但网页版登录 link 只会打开一个新标签页,同时从桌面应用程序侧载会打开一个空白弹出窗口

如果有人知道我遗漏了什么,将不胜感激

  1. 您的登录页面在 Teams 内的 iframe 中打开。 microsoftTeams.js 与 Teams 沟通。这会让 Teams 知道您的网站发送了成功通知。

  2. 黑屏原因 - 清单文件中的 validDomains 不正确。 localhost:4200 应包含在 validDomains 中。