如何在本地运行的 WEB API 上启用 Azure 活动目录身份验证
How to enable Azure Active directory authentication on WEBAPI which is runing locally
我想知道当我在本地 运行 我的网站 api 时,为什么 Azure Active Directory 登录页面没有显示的原因。我需要始终将 webapi 部署到 azure,以查看 AAD 登录页面以查看 WEBAPI 是否启用了 AAD。就像 WebSite 一样,在 WEB API 中是否可以在 运行ning api 应用程序本地启用登录页面。
我已经在 webstartup.cs 的 api 项目中配置了 AAD Auth 下面是代码。
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new TokenValidationParameters
{
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
},
});
在本地调试时是否需要为登录页面可用的 localhost Azure AD 应用任何其他设置
使用 OAuth2 时,无论 API 是在本地、public 互联网还是其他任何地方托管,在身份验证方面应该没有任何区别。无论生成的令牌的最终接收者如何,令牌获取阶段都保持不变。
但是,也就是说:通过 UseWindowsAzureActiveDirectoryBearerAuthentication
添加的中间件不应导致任何 in-browser 身份验证体验。如果您在部署到 Azure 时看到这样的页面,您可能会通过其他设置(例如 EasyAuth,也许?)触发该行为。 webAPI和网页认证模式的区别详见this post.
我想知道当我在本地 运行 我的网站 api 时,为什么 Azure Active Directory 登录页面没有显示的原因。我需要始终将 webapi 部署到 azure,以查看 AAD 登录页面以查看 WEBAPI 是否启用了 AAD。就像 WebSite 一样,在 WEB API 中是否可以在 运行ning api 应用程序本地启用登录页面。
我已经在 webstartup.cs 的 api 项目中配置了 AAD Auth 下面是代码。
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new TokenValidationParameters
{
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
},
});
在本地调试时是否需要为登录页面可用的 localhost Azure AD 应用任何其他设置
使用 OAuth2 时,无论 API 是在本地、public 互联网还是其他任何地方托管,在身份验证方面应该没有任何区别。无论生成的令牌的最终接收者如何,令牌获取阶段都保持不变。
但是,也就是说:通过 UseWindowsAzureActiveDirectoryBearerAuthentication
添加的中间件不应导致任何 in-browser 身份验证体验。如果您在部署到 Azure 时看到这样的页面,您可能会通过其他设置(例如 EasyAuth,也许?)触发该行为。 webAPI和网页认证模式的区别详见this post.