在启用Windows身份验证的情况下,将Azure AD WebAPI部署到IIS,会跳过Azure AD身份验证

时间:2015-06-09 23:13:02

标签: authentication azure asp.net-web-api azure-active-directory

我有一个使用Azure AD成功保护的WebAPI。当我在本地运行它(通过Visual Studio)时,尝试通过浏览器访问WebAPI端点给我

Authorization has been denied for this request.

这是我所期待的。通过具有ADAL库的客户端访问WebAPI可以正常工作。弹出窗体登录屏幕,并对我进行身份验证并传回令牌,然后我可以在我的WebAPI请求中使用该令牌。

如果我将WebAPI部署到IIS服务器并为该站点启用了Windows身份验证,那么我不会发生这种情况。当我尝试通过浏览器点击IIS WebAPI端点时,我收到Windows身份验证提示。如果我成功验证了Windows身份验证,则WebAPI会为响应提供服务。

我想我会期望WebAPI会返回相同的“此请求已拒绝授权”。如果我已将WebAPI配置为使用Azure AD身份验证,则Windows身份验证不应对WebAPI进行身份验证。

我的问题是,这是预期的行为,如果是,为什么?

从一个角度来看,我可以看到WebAPI可以接受来自我配置的任何方法的身份验证。但我的一部分认为,由于Azure AD身份验证是在WebAPI应用程序中配置的,而不是IIS,因此它应该优先。

0 个答案:

没有答案