You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 9 Blazor带认证API问题:HttpClient未携带认证信息

问题:.NET 9 Blazor独立账户认证下API请求被重定向至登录页

我正在使用.NET 9和Blazor开发一个演示项目,目的是展示如何用独立账户(Individual Accounts)保护API,代码已上传至GitHub。

我在服务端和客户端的Program.cs中配置了IHttpClientFactory,代码如下:

builder.Services
    .AddScoped(sp => sp
        .GetRequiredService<IHttpClientFactory>()
        .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<List<Domain.Client>>();
}

目前遇到的问题是:用户已完成认证,但页面发起API请求时,应用仍会将请求重定向到登录页面。我已检查过相关配置,但未找到问题根源。

内容的提问来源于stack exchange,提问作者Enrico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 18:04:55