如何在Report Portal日志中屏蔽Authorization敏感请求头?
方案1:单独屏蔽Authorization请求头(推荐)
利用ReportPortalRestAssuredLoggingFilter的addRequestFilter方法,自定义过滤器临时移除Authorization头后再恢复,避免敏感数据被日志记录:
import com.epam.reportportal.restassured.ReportPortalRestAssuredLoggingFilter; import io.restassured.filter.Filter; import io.restassured.filter.FilterContext; import io.restassured.response.Response; import io.restassured.specification.FilterableRequestSpecification; import io.restassured.specification.FilterableResponseSpecification; public class AuthorizationHeaderFilter implements Filter { @Override public Response filter(FilterableRequestSpecification requestSpec, FilterableResponseSpecification responseSpec, FilterContext ctx) { // 临时移除Authorization头,防止被Report Portal日志捕获 String authHeader = requestSpec.getHeaders().get("Authorization"); if (authHeader != null) { requestSpec.removeHeader("Authorization"); } // 执行实际API请求 Response response = ctx.next(requestSpec, responseSpec); // 恢复Authorization头,不影响后续请求逻辑 if (authHeader != null) { requestSpec.header("Authorization", authHeader); } return response; } }
将自定义过滤器添加到Report Portal的日志过滤器中:
ReportPortalRestAssuredLoggingFilter rpLoggingFilter = new ReportPortalRestAssuredLoggingFilter(); rpLoggingFilter.addRequestFilter(new AuthorizationHeaderFilter()); // 绑定到RestAssured全局配置,或单个请求实例 RestAssured.filters(rpLoggingFilter);
这个方案仅屏蔽Authorization头的日志,不影响其他请求头和请求体的记录,也不会干扰实际API调用逻辑。
方案2:移除所有请求头日志(备选)
如果不需要记录任何请求头,可直接指定Report Portal过滤器的日志类型,排除请求头:
import com.epam.reportportal.restassured.ReportPortalRestAssuredLoggingFilter; import com.epam.reportportal.restassured.LoggingType; // 仅记录请求体和响应内容,不记录请求头 ReportPortalRestAssuredLoggingFilter rpLoggingFilter = new ReportPortalRestAssuredLoggingFilter( LoggingType.REQUEST_BODY, LoggingType.RESPONSE ); RestAssured.filters(rpLoggingFilter);
也可以通过setLoggingTypes方法动态调整:
rpLoggingFilter.setLoggingTypes(LoggingType.REQUEST_BODY, LoggingType.RESPONSE);
验证方法
执行测试用例后,查看Report Portal的测试日志:
- 方案1:仅Authorization头不会出现在日志中,其他请求头正常显示
- 方案2:所有请求头均不会被记录
内容的提问来源于stack exchange,提问作者Viktor Ilienko
相关产品推荐
相关产品推荐

