.NET 9 Blazor API с аутентификацией: httpclient без аутентификацииC#

Место общения программистов C#
Ответить
Anonymous
 .NET 9 Blazor API с аутентификацией: httpclient без аутентификации

Сообщение Anonymous »

Я создаю простой проект с использованием .net 9 и Blazor, чтобы показать, как защитить API с использованием отдельных учетных записей. Я опубликовал код на GitHub.
Я добавил в сервер и клиентскую программу. Br />

Код: Выделить всё

builder.Services
.AddScoped(sp => sp
.GetRequiredService()
.CreateClient("ServerAPI"))
.AddHttpClient("ServerAPI", (provider, client) =>
{
client.BaseAddress = new Uri("https://localhost:7130");
});
Я добавил две конечные точки для теста: ClientEndpoint и ClientAddressEndpoint. Затем я добавил ко всем им RequireAuthorization. Используя Swagger и после аутентификации, API работают.
Теперь я создал страницу для отображения списка клиентов. В клиентском проекте страница ClientList считывает список из API.

Код: Выделить всё

@attribute [Authorize]
@inject HttpClient httpClient

public async Task GetClients()
{
if (string.IsNullOrEmpty(user))
{
Clients = null;
return;
}

HttpRequestMessage request =
new HttpRequestMessage(HttpMethod.Get, $"/api/Client");
HttpResponseMessage responseMessage = await httpClient.SendAsync(request);
responseMessage.EnsureSuccessStatusCode();
Clients =
await responseMessage.Content.ReadFromJsonAsync();
}
Хотя пользователь аутентифицирован, приложение всегда перенаправляет запрос на страницу входа, как вы можете видеть на этом снимке экрана.
Изображение

Думаю, я правильно проверил все конфигурации, но не могу найти выдать.

Подробнее здесь: https://stackoverflow.com/questions/793 ... entication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»