【问题标题】:"Localhost refused to connect" using Microsoft Graph Toolkit on a deployed Microsoft Teams custom personal app在已部署的 Microsoft Teams 自定义个人应用程序上使用 Microsoft Graph 工具包“本地主机拒绝连接”
【发布时间】:2021-09-14 17:24:44
【问题描述】:

错误:

我们使用 Microsoft Graph 工具包获取登录凭据,以便使用 Microsoft Graph API:https://docs.microsoft.com/en-us/graph/toolkit/overview

使用 2.1.0 版:

我们按照本教程进行了 Azure AD 应用注册:https://docs.microsoft.com/en-us/graph/toolkit/get-started/add-aad-app-registration

所以,我认为我们需要的是更改 localhost URI 以指向已部署的 Teams 应用程序。类似:https://<teams-tenant>/<teams-app>/auth.html。但我想不通。

我错过了什么?

精度/编辑:

  • 使用npm start本地运行 Teams 应用程序时,我们可以登录用户并获取个人资料信息。 MGT 和 Azure 应用程序已按照 Microsoft 文档正确配置(用于本地运行,但不适用于部署)。

重现问题的步骤:

  1. 使用 Microsoft Teams Toolkit Extension 1.2.3 版作为“个人选项卡”创建 Teams 应用,无需 SSO
  2. 按照以下步骤配置 Microsoft Graph Toolkit 2.1.0 版:https://docs.microsoft.com/en-us/graph/toolkit/get-started/build-a-microsoft-teams-tab#add-the-microsoft-graph-toolkit
  3. 确保按照以下步骤创建 Azure Active Directory 应用程序:按照以下步骤添加 Microsoft Graph Toolkit:https://docs.microsoft.com/en-us/graph/toolkit/get-started/build-a-microsoft-teams-tab#add-the-microsoft-graph-toolkit
  4. 在本地测试和运行(按照以下步骤添加 Microsoft Graph Toolkit:https://docs.microsoft.com/en-us/graph/toolkit/get-started/build-a-microsoft-teams-tab#add-the-microsoft-graph-toolkit)- 这应该可以工作
  5. 在 Teams 管理中心上传 appPackage.zip (https://docs.microsoft.com/en-us/MicrosoftTeams/manage-apps?toc=%2Fmicrosoftteams%2Fplatform%2Ftoc.json&bc=%2Fmicrosoftteams%2Fplatform%2Fbreadcrumb%2Ftoc.json#customize-an-app)
  6. 在 Teams 中安装应用程序并尝试访问它。一旦它尝试加载应用程序,我们就会收到 localhost 错误。

【问题讨论】:

  • 看起来这是一个团队应用,你也关注here 吗?您需要通过团队提供者here 路由身份验证,否则,有关您的配置的更多信息会有所帮助。
  • 无法将本地主机 URL 添加为团队中的选项卡。它必须是公开可用的 URL。因此,您可以使用 Ngrok/Azure 中继创建公共 URL,或者将应用程序发布到 azure。
  • @NicVogt 谢谢你的指点 Nic。但我们确实按照 Microsoft 文档使用 Microsoft Teams Tab 设置 MGT。我没有提到(我将更新帖子)是 MGT 和 Azure 应用程序的配置正在运行。运行 npm start 时,我可以使用用户登录。在部署应用程序时,我得到了错误。我需要更改 localhost 以指向团队的公用文件夹。而且我找不到任何有关如何执行此操作的 Microsoft 文档。
  • @SubbaReddiTommuru 是的! Ngrok 和 Azure 是不可能的,它们太贵了。使用 Microsoft Teams Toolkit 生成 Teams 应用程序时,它会创建面向“公共”的文件夹/URL(参见带​​有 index.html 和 favicon.ico 的屏幕截图)。你知道怎么用吗?如何引用它?
  • 如果您指的是工具包 >2.0,index.html 使用 azure 存储帐户发布为静态网站。因此,您需要使用存储帐户特定的 URL。这是参考:marketplace.visualstudio.com/…docs.microsoft.com/en-us/microsoftteams/platform/toolkit/…

标签: azure-active-directory microsoft-teams microsoft-graph-toolkit teams-toolkit


【解决方案1】:

我认为这是您期望看到的:

好的,所以基本上如果你想在 Teams 上测试应用程序,它应该在某个地方运行:你可以通过 "npm start" 在本地运行它,或者部署它在 Azure 或任何应用服务上。

在从本地进行测试之前,您无需更改 Azure AD 注册的重定向 URI

请确保您的应用使用 "npm start",然后尝试访问 Teams 选项卡。 它应该可以工作。

谢谢

【讨论】:

  • 是的!这是我希望看到的。是的,当我使用“npm start”时它在本地工作。现在,您能否在 Microsoft Teams 管理中心部署此应用程序,如果您收到 localhost 错误,请告诉我?谢谢
  • @Jean-PierreToupin - 如果您计划在 Microsoft Teams 管理中心部署应用程序并希望所有人都可以访问它。您需要已部署应用程序的面向公众的 URL,它不适用于 localhost。你可以在 Azure 应用服务上发布你的应用。谢谢
  • 没关系,我想我找到了我要找的东西!问题出在MGT上。如果我删除它并使用 on-behlaf-of 流交换 Teams 访问令牌,我仍然可以访问 Microsoft Graph API。来源:wictorwilen.se/blog/…
猜你喜欢
  • 1970-01-01
  • 2016-01-17
  • 2020-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 2020-10-05
相关资源
最近更新 更多