У меня Blazor Server, подключенный к Azure B2 C Cook ie Auth.
services.AddAuthentication(AzureADB2CDefaults.CookieScheme)
.AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));
services.Configure<CookieAuthenticationOptions>(
AzureADB2CDefaults.CookieScheme, options =>
{
options.Cookie.Name = "MyCookieName";
});
Я сопоставляю контроллеры, поэтому у меня есть конечные точки контроллера, которые нужно нажать:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
На моем сервере Blazor _Host
я просто использую встроенный Authorize
attirbute:
@attribute [Microsoft.AspNetCore.Authorization.Authorize]
При загрузке, если пользователь не авторизован, он будет перенаправлен на B2 * 1043. * Войти без проблем. Затем я могу войти в систему, и она возвращает меня обратно в приложение.
Однако после входа в систему я не могу понять, как перенаправить на специфицированный c контроллер / действие до конечной точки что-то вроде: /api/auth/mynewuser
Это действие затем выполнит некоторую проверку и перенаправит обратно на «/», позволяя пользователю продолжать использовать приложение Blazor.
Учитывая мои настройки «из коробки» в значительной степени ... как этого добиться?
изменить
код:
https://github.com/aherrick/BlazorServerB2C
Цель заключается в достижении этой конечной точки после каждого входа в систему / регистрации:
https://github.com/aherrick/BlazorServerB2C/blob/master/BlazorServerB2C/Controllers/AuthorizeController.cs