Я хочу дополнить утверждения пользователя с помощью IClaimsTransformation при входе в систему. Моя цель — реализовать IClaimsTransformation, вызвать ApiApp для запроса базы данных, получить необходимые данные и обогатить утверждения пользователя.
Для достижения этой цели , мне нужен токен для вызова ApiApp. Я попытался сгенерировать токен следующим методом:
Код: Выделить всё
private async Task GetApplicationTokenAsync()
{
try
{
var clientId = _configuration["AzureAdB2C:ClientId"]; // ClientId of the WebApp
var clientSecret = _configuration["AzureAdB2C:ClientSecret"]; // ClientId of the WebApp
var scope = _configuration["MyApp:MyAppScope"]; // exposed API scope access_as_user
var tenant = _configuration["AzureAdB2C:Domain"];
var policy = _configuration["AzureAdB2C:SignUpSignInPolicyId"];
var tenantName = "mytenant";
var authority = $"https://{tenantName}.b2clogin.com/{tenantName}.onmicrosoft.com/{policy}/v2.0";
var app = ConfidentialClientApplicationBuilder.Create(clientId)
.WithClientSecret(clientSecret)
.WithAuthority(new Uri(authority))
.Build();
var authResult = await app.AcquireTokenForClient(new[] { scope }).ExecuteAsync();
return authResult.AccessToken;
}
catch (Exception ex)
{
throw;
}
}
AADSTS50049: «Неизвестный или недопустимый экземпляр».
- Что мне следует сделать, чтобы правильно получить токен?
- Что-то не так в моем Azure AD Конфигурация или код B2C?
Я создал этот репозиторий чтобы обеспечить четкое представление и анализ проблемы, с которой я столкнулся, что позволит глубже понять суть ошибки.
Azure ApiApp Конфигурация:< /h2>
- Разрешения API
- Открыть API
- У меня есть 1 сертификат и секрет
- Аутентификация
- Аутентификация
- У меня есть 1 сертификат и секрет
- Разрешения API
- В разделе Expose a API у меня ничего нет
Подробнее здесь: https://stackoverflow.com/questions/786 ... r-aadsts50