Azure AD 401错误 - 从角度客户端

时间:2016-05-03 22:26:56

标签: c# .net angularjs azure azure-active-directory

我有一个单独的角度客户端,我想要使用Azure AD进行身份验证。我正在使用ADAL JS,所有这些似乎都运行正常。我被重定向到AD登录页面,然后发送回我的应用程序。我可以看到令牌与每个后续的http请求一起传递。

但是,当我尝试向我的Web API发出安全请求时,我收到401 Unauthorized错误。我正在松散地遵循指南here进行设置。我松散地说,因为我没有使用MVC,我的客户端完全在一个单独的代码库中。

我很肯定我的用户可以访问此应用程序。

My Auth Configuration的内容如下:

app.UseWindowsAzureActiveDirectoryBearerAuthentication(new WindowsAzureActiveDirectoryBearerAuthenticationOptions()
{
    TokenValidationParameters = new TokenValidationParameters()
    {
        ValidAudience = ConfigurationManager.AppSettings["AzureADAudience"],
    },
    Tenant = ConfigurationManager.AppSettings["AzureADTenant"],
    AuthenticationType = "OAuth2Bearer"
});

观众:https://login.windows.net/xyz.onmicrosoft.com/myappname

租户:xyz.onmicrosoft.com

我锁定的控制器装饰如下:

[HostAuthentication("OAuth2Bearer")]
[Authorize]
[RoutePrefix("Auth")]

1 个答案:

答案 0 :(得分:2)

您的SPA是否与您的后端一起托管?如果是,那么您需要将受众更改为客户ID。

ValidAudience = ConfigurationManager.AppSettings["ida:ClientID"]