3.73设置 Access Token 请求的自定义数据

创建于 2026 年 8 月 17 日约 1 分钟读完

当使用 IHttpAccessTokenProvider 自动获取 Access Token 时,有时需要向 GetAsync 方法传递额外的动态参数(如用户名、密码、客户端密钥等)。通过 WithAccessTokenData 方法,可以在构建请求时预设这些参数,框架会自动将它们复制到 HttpAccessTokenContext.Items 中,供 GetAsync 使用。

cs
HttpRequestBuilder.Post("https://furion.net/")    .SetHttpClientName("myapi") // 可选    .WithAccessTokenData("username", "admin")    .WithAccessTokenData("password", "123456")

然后,在 IHttpAccessTokenProvider.GetAsync 方法中,可以从 context.Items 中取出这些值:

cs
public async Task<HttpAccessToken?> GetAsync(HttpAccessTokenContext context, CancellationToken cancellationToken){    context.Items.TryGetValue("username", out var username);    context.Items.TryGetValue("password", out var password);    // 使用 username 和 password 获取 Token...}

注意:该方法支持多次调用,重复的键会用最新的值覆盖。