Я бы хотел использовать Open ID Connect с Identity Server 4 для авторизации в моем приложении Blazor на стороне сервера.У меня такая же настройка, работающая в приложении MVC.
В новейшей версии .NET Core, 3.0 Preview 6, можно добавить атрибут ´ @ attribute [Authorize] ´ к сайту.Но если я не авторизован, я не буду перенаправлен на Identity Server для входа, так как я использую свои приложения MVC.Вместо этого на сайте отображается только сообщение «Не авторизовано».
В файле Startup.cs у меня есть следующие настройки:
services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies")
.AddOpenIdConnect("oidc", options =>
{
options.Authority = "http://localhost:5000";
options.RequireHttpsMetadata = false;
options.ClientId = "myClient";
options.SaveTokens = true;
});
и
app.UseAuthentication();
Каксообщить приложению, что я хочу быть перенаправлен на Identity Server, если я не вошел в систему?
РЕДАКТИРОВАТЬ: ответ Codevisions работает как обходной путь.Я обнаружил ожидающие проблемы с github здесь и здесь , запланированные для .NET Core 3.0 Preview 7, которые, возможно, официально покроют эту проблему.