首页 > 解决方案 > 尝试使用 Azure AD 保护 Web API

问题描述

我有一个使用本教程创建的 Web API 项目,我正在尝试使用 Azure AD 对其进行保护。

根据教程,当我创建项目时,我可以选择“更改身份验证”并输入我的 AAD 信息和身份验证应该只是“工作”,只要我有<Authorize>我想要保护的控制器:

Azure AD 租户信息

根据教程,我需要将 API 添加为 Azure 门户中的应用程序,但其步骤和屏幕截图令人困惑,因为它们很旧,并且 Azure 门户已重新组织。它说:

下一步是将“WebAPIServerSingleTenant”添加为可以在本机应用程序中访问的应用程序。导航到“WebAPIClientSingleTenant”应用程序并将“WebAPIServerSingleTenant”添加到您的批准列表(也勾选复选框)

但是当我创建项目时从 Visual Studio 添加租户信息会自动在 AAD 中创建应用注册,所以我不确定它要求我做什么。

此外,例如,当我尝试从 Postman 调用 API 时,我只是得到“此请求的授权已被拒绝”,尽管在我看来正确的请求标头中生成并传递了访问令牌。

我需要遵循哪些步骤来使用 Azure AD 保护我的 Web API?

标签: azureazure-active-directoryasp.net-web-api2

解决方案


您在上面引用的“下一步是添加 ...”指令是关于将 API 应用程序的引用添加到本机应用程序的 AAD 注册中要注册本机应用程序,请转到 Azure 门户并使用应用程序注册。您的文章中链接的有关如何执行此操作的说明已过时-AAD UI 现在完全不同。而是使用官方示例之一,特别是用于本地客户端访问 API 的示例。


推荐阅读