Мне нужно настроить логин B2C в нашем приложении. В случае с другими провайдерами идентификации, я получаю токен и правильно добавляю претензии в заднюю часть, как вы можете видеть на скриншоте
но когда я пытаюсь использовать ADFS, заявки из Current.User
пусты
Я пытался использовать ClaimsPrincipal.Current
, но претензии пусты.
Странно то, что во внешней части я правильно получаю токен и могу его расшифровать, у меня есть все необходимые данные, но в бэкэнде я не могу получить заявки.
У меня есть этот код в Startup.Auth.cs
файле
public partial class Startup
{
// These values are pulled from web.config
public static string AadInstance = ConfigurationManager.AppSettings["ida:AadInstance"];
public static string Tenant = ConfigurationManager.AppSettings["ida:Tenant"];
public static string ClientId = ConfigurationManager.AppSettings["ida:ClientId"];
public static string SignUpSignInPolicy = ConfigurationManager.AppSettings["ida:SignUpSignInPolicyId"];
public static string DefaultPolicy = SignUpSignInPolicy;
/*
* Configure the authorization OWIN middleware
*/
public void ConfigureAuth(IAppBuilder app)
{
TokenValidationParameters tvps = new TokenValidationParameters
{
// Accept only those tokens where the audience of the token is equal to the client ID of this app
ValidAudience = ClientId,
AuthenticationType = Startup.DefaultPolicy
};
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions
{
// This SecurityTokenProvider fetches the Azure AD B2C metadata & signing keys from the OpenIDConnect metadata endpoint
AccessTokenFormat = new JwtFormat(tvps, new OpenIdConnectCachingSecurityTokenProvider(String.Format(AadInstance, Tenant, DefaultPolicy))),
}
);
}
}
Любая помощь приветствуется.