3.72禁用 Access Token 自动管理
创建于 2026 年 8 月 17 日约 1 分钟读完
框架内置了 Access Token 自动管理功能,只需实现 IHttpAccessTokenProvider 接口,并在 GetAsync 方法中编写获取 Access Token 的逻辑即可。通常情况下,获取 Access Token 需要借助独立的 HTTP 请求,而若在 GetAsync 内部直接使用 IHttpRemoteService 发送请求,则会因触发自动管理机制而陷入递归死循环。此时,需通过 .WithoutTokenManagement() 显式禁用当前请求的 Access Token 自动管理,避免循环调用。
public class CustomHttpAccessTokenProvider(IHttpRemoteService httpRemoteService): IHttpAccessTokenProvider{ /// <inheritdoc /> public async Task<HttpAccessToken?> GetAsync(CancellationToken cancellationToken) { var serverToken = await httpRemoteService.SendAsAsync<YourServerToken>(HttpRequestBuilder.Post("https://furion.net") .SetJsonContent(new { username = "furion", password = "your-password"}) .WithoutTokenManagement()); // 跳过 Token 管理,避免递归调用(声明式请求使用 [SuppressTokenManagement]) return new HttpAccessToken(serverToken.Token, serverToken.ExpiresAt) };}