Azure Active Directory 使用默认模板为tenantId 传递空 GUID

INN*_*VTV 5 asp.net visual-studio azure-active-directory

我已经尝试使用多个具有 Azure/AAD 帐户的 MS 帐户进行此操作,并尝试同时使用 Visual Studio 2015 和 2017 并得到完全相同的错误/错误。

使用带有 AAD 集成的默认 ASP.NET MVC 模板(根本没有代码更改)。该应用程序已在我的 AAD 帐户中注册,并且我看到tenantId 和其他 GUID 都在 Web.Config 中。我还尽可能地跟踪了调用堆栈,并且tenantId 已正确初始化,但我仍然收到此错误:

请求的租户标识符“00000000-0000-0000-0000-000000000000”无效。租户标识符不能是空的 GUID。

这发生在权限接受屏幕之后。

这里还有一个截图:

在此处输入图片说明

根据要求,这里是 Web.Config:

在此处输入图片说明

INN*_*VTV 2

所以解决方案非常简单。但这没有在任何地方记录,甚至在 Vittorio Bertocci 关于该主题的书中也没有记录 - 这让您相信您可以在创建 Visual Studio 项目后以 Azure 订阅所有者的身份登录,而无需在 Azure 中进行任何其他设置。

由于新门户处于预览阶段,因此用户体验并不是那么明显。以下是创建具有 Active Directory 集成的新 ASP.NET 项目后要执行的步骤:

  1. 您必须登录 Azure(在新门户中)

  2. 单击“活动目录”。

  3. 转到您的“应用程序注册”

  4. 您将在那里看到您的新应用程序。点击它。

  5. 在应用程序注册边栏选项卡顶部的“Essentials”面板内,您将看到一个标题为“本地目录中的托管应用程序”的链接,并且该链接的名称将与您所在的边栏选项卡的名称相同(这是令人困惑的)部分)单击该链接...

  6. 您现在已经深入了一层,并且能够看到该应用程序有多少用户。它可能会是0。——这就是问题所在!

  7. 单击左侧菜单中的“用户和组” ,您可以开始添加用户。

请注意,随着 AAD 在新门户中停止预览,上述步骤可能会发生变化。