У меня есть веб-приложение SPA, написанное на Vue, которое может напрямую подключаться к AADB2C без ABP, и я получаю на него хороший ответ API-токена.
Для моего внутреннего проекта WebApi я хотел бы использоватьвсе приятные возможности ABP, но я бы хотел заменить часть аутентификации ABP вызовами AADB2C.Чтобы сделать это, я заменил вызов AddAuthentication () в Startup следующим образом ... (ядро .net)
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
IdentityRegistrar.Register(services); // ABP generated
// I removed this code …
// AuthConfigurer.Configure(services, _appConfiguration); // ABP generated
// I added this code from a generated webapi project startup file that I know works separately …
services.AddAuthentication(AzureADB2CDefaults.BearerAuthenticationScheme)
.AddAzureADB2CBearer(options => Configuration.Bind("AzureAdB2C", options));
...
}
Как мне заставить ABP распознать это и проверить внешний токен jwt и создать нового AbpUser?Было бы здорово использовать все атрибуты AbpAuthorize в сервисах приложения abp таким образом.
Я видел этот совет, но, похоже, мне нужно самому обратиться к B2C таким образом ... https://aspnetboilerplate.com/Pages/Documents/Zero/User-Management?searchKey=authentication#external-authentication
Спасибо
- Энди