首页 文章

Azure Active Directory多租户身份验证

提问于
浏览
0

我是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

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

相关问题