Azure AD多租户WebApi承载授权配置

时间:2018-10-06 10:46:23

标签: c# asp.net-web-api azure-active-directory multi-tenant

我目前正在使用AAD单一登录的ASP.net MVC和Web API项目。我目前面临的问题是我不知道如何配置WebAPI的授权。这是我目前尝试过的方法,但是不起作用。

 
public void ConfigureAuth(IAppBuilder app)
        {
...
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
                        new WindowsAzureActiveDirectoryBearerAuthenticationOptions
                        {
                            Tenant = "common",
                            TokenValidationParameters = new TokenValidationParameters
                            {
                                ValidAudience = audience,
                                ValidateIssuer = false

                        }              });

...}

然后我通过邮递员令牌预定义的令牌请求获取访问令牌,并且有效。

postman token request

当我调用WebAPI(标题:授权-> Bearer)时,我收到了以下异常:

                        }              });

我必须准备令牌请求,API标头或配置吗?

BG, 汤姆

1 个答案:

答案 0 :(得分:0)

以下是有关Building a multi-tenant web API secured by Azure AD的示例。您可以下载它,并按照其提供的步骤进行配置。

应用程序使用Active Directory身份验证库(ADAL)通过OAuth 2.0协议获取JWT访问令牌。访问令牌将发送到Web API以对用户进行身份验证。 Web API项目演示了如何构造服务以供来自多个Azure AD租户的用户访问。

要登录多个租户,需要进入已注册的应用程序,然后单击Manifest选项集availableToOtherTenantstrueenter image description here

有关更多详细信息,您可以参考此article