Azure Active Directory多租户身份验证

时间:2017-09-19 03:41:19

标签: azure-ad-b2c

我是AAD B2C认证的新手。目前,我在AAD上托管了三个应用程序,并访问我的web API,该API位于azure Active目录中。 我将其中一个应用程序移动到B2C租户。我也在B2C中托管了Web API,并且我在启动类中使用了以下代码。

public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
var settings = new SecurityTokenSettings();
var validAudiencesList = new List<String>
{
settings.GetValue("apiResource"),
settings.GetValue("apiClientId")
};
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = settings.GetValue("tenant"),
TokenValidationParameters = new TokenValidationParameters
{
ValidAudiences = validAudiencesList,
SaveSigninToken = true,
},
AuthenticationMode = AuthenticationMode.Active
});
app.UseClaimsAuthorization();
}
}

当我使用AAD注册的应用程序和Web API时,这很好用。在ClaimsAuthorization中 - context.Authentication.User有声明和用户信息。

但是当我使用B2C注册的应用程序和Web API时,上下文中的用户信息为空。我也没有看到任何说法。

如果我使用app.UseOAuthBearerAuthentication,我是否会成功使用AAD和B2C注册的应用程序?

如何验证AAD应用程序和B2C应用程序以访问Web API。

1 个答案:

答案 0 :(得分:0)

如果没有更多代码和您的应用配置详细信息,很难确定确切的问题,但我建议您查看Azure AD B2C .NET Web App to a Web API代码示例。这听起来像您正在尝试实施的方案。