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

Android ACRA框架HTTP Sender如何配置Bearer认证替代基础认证

ACRA Bearer 认证配置解答

ACRA 原生完全支持Bearer认证需求,无需引入额外第三方工具即可实现,可根据你的Token使用场景选择以下两种方案:

方案1:静态Header配置(适用固定Token场景)

ACRA 的 HTTP Sender 组件原生支持自定义额外请求头,直接通过配置additionalHeaders参数添加Authorization头即可。
示例注解配置代码:

@AcraHttpSender(
    uri = "你的错误上报服务地址",
    additionalHeaders = {"Authorization: Bearer 你的实际Token值"},
    // 其余原有配置保持不变
)

如果使用代码动态配置,可通过配置Builder设置:

HttpSenderConfigurationBuilder builder = new HttpSenderConfigurationBuilder()
    .setUri("你的错误上报服务地址")
    .setAdditionalHeaders(new HashMap<String, String>(){{
        put("Authorization", "Bearer 你的实际Token值");
    }});

方案2:自定义请求拦截器(适用动态Token场景)

如果你的Bearer Token需要动态生成、定期刷新或者从本地安全存储读取,可通过实现ACRA的HttpRequestInterceptor接口完成头注入:

  1. 自定义拦截器实现:
public class BearerAuthInterceptor implements HttpRequestInterceptor {
    @Override
    public void intercept(HttpRequest request, HttpContext context) throws HttpException, IOException {
        // 此处添加你的动态Token获取逻辑
        String validToken = TokenManager.getValidBearerToken();
        request.addHeader("Authorization", "Bearer " + validToken);
    }
}
  1. 在ACRA配置中注册拦截器:
@AcraCore(
    httpRequestInterceptors = {BearerAuthInterceptor.class},
    // 其余原有配置保持不变
)

注意事项

  • Bearer 与Token值之间的空格不可省略,否则会导致服务端解析认证信息失败
  • 生产环境禁止硬编码Token值,建议通过安全存储模块动态读取有效Token
  • 若Token存在过期逻辑,优先选择自定义拦截器方案,确保每次上报请求携带的是有效Token

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:45:09