AAD B2C 인증에 새로운입니다. 현재 저는 AAD에서 호스팅되는 3 개의 응용 프로그램을 가지고 있으며 하늘빛 Active Directory에서 호스팅되는 웹 API에 액세스합니다. 응용 프로그램 중 하나를 B2C 거주자로 이동 중입니다. B2C에서도 웹 API를 호스팅했으며 시작 클래스에서 아래 코드를 사용하고 있습니다.Azure 액티브 디렉토리 다중 임차인 인증
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 등록 된 응용 프로그램 및 웹 API를 사용할 때 제대로 작동합니다. ClaimsAuthorization에서 - context.Authentication.User는 클레임과 사용자 정보를 가지고 있습니다.
그러나 B2C 등록 된 앱과 웹 API를 사용할 때 컨텍스트의 사용자 정보는 비어 있습니다. 또한 나는 어떤 주장도 보지 않는다.
app.UseOAuthBearerAuthentication을 사용하는 경우 AAD 및 B2C 등록 응용 프로그램 모두에서 성공적으로 수행 할 수 있습니까?
웹 API에 액세스하기 위해 AAD 응용 프로그램과 B2C 응용 프로그램을 인증하는 방법은 무엇입니까?