dan*_*anf 6 java authentication apache-httpclient-4.x bearer-token
我正在构建一个客户端,它基本上需要InputStream从需要身份验证的端点发送和检索文件(必须是).
我正在使用我创建的Apache HttpClient,Bearer AuthScheme它使用特定的令牌来处理我们自己的令牌检索流,这些内容围绕以下几行:
@Override
public String getToken(Credentials credentials, HttpRequest request, HttpContext context) {
return tokenProvider.getToken(getParameters(),
request.getRequestLine().getMethod(),
request.getRequestLine().getUri());
}
Run Code Online (Sandbox Code Playgroud)
凡TokenProvider有望走出去与它自己的要求,从第三方服务得到我的令牌.
现在,我使用InputStreamEntity不可重复的请求创建我的请求,因此第二次请求结束时将失败,流程为:
AuthSchem基于挑战被触发retrieveing所需的令牌NonRepeatableRequestException我知道我可以使用一个Repeatable实体并完成它但我们正在讨论非常(非常)大的文件,我不能简单地将它们缓冲到内存中.
我还尝试使用a HttpRequestInterceptor来抢先执行第一个请求并根据它获得的挑战填充令牌缓存但是在我看来这是一个非常难看的流程,同时根据当前请求即将获得的挑战来检索令牌.
我也尝试过使用Jets3t RepeatableRequestEntity,但是我不想在不需要的地方包含依赖项,而且我还没有彻底测试它的性能.
所以我的问题是:其他人如何做到这一点?它不仅仅局限于Bearer身份验证 - 您如何处理InputStream需要基于挑战的身份验证的线路发送?
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |