Visual Studio dev 中的 DefaultAzureCredential 找不到合适的用户

Mar*_*rkD 1 visual-studio azure-active-directory azure-web-app-service

这是一项很酷的功能,允许应用程序通过环境值、Visual Studio Azure 服务身份验证或通过 MSI(如果在 Azure 上运行)获取令牌。它会自动逐步执行并找到有效的方法。如果您在本地运行并希望稍后使用 MSI 部署到 Web 应用程序,那就太好了。它从 MSI 或 Visual Studio 和其他一些地方获取令牌

它在工作时意外失败。我一直在与 MSFT 合作解决这个问题,我已经弄清楚发生了什么。我会发布一个答案。

Mar*_*rkD 6

在 Visual Studio 中,您可以在选项/Azure 服务身份验证/帐户选择中设置帐户。

如果您在本地调试并且在 Visual Studio 中注册了多个 Azure 帐户,则还必须在 Web 应用程序属性/调试(或您的 PC 环境变量)中设置环境变量,并添加环境变量 AZURE_USERNAME 和您选择的帐户电子邮件以允许它知道该使用哪一个。

问题是- 如果你的帐户 id 的大写/小写与环境变量不匹配,它不会连接两者,也不会使用你的 Visual Studio 帐户进行授权。如果在注册 Visual Studio 帐户很久之后将环境变量添加到调试属性中,这是一个很容易犯的错误。

因此 - 检查工具/选项/Azure 服务身份验证/帐户选择上的帐户,并确保 AZURE_USERNAME 变量的大小写完全相同。

github 问题在这里,并计划修复。

HTH。M。