在没有ProxyServer的情况下使用OkHttpClient进行先发制人的身份验证



根据https://square.github.io/okhttp/3.x/okhttp/,我认为只有当我们有代理服务器时,才能进行抢先身份验证。

我们有一个资源/原始服务器,用于授权具有Oauth令牌的客户端。

我们已经实现了授权OkHttp验证器https://square.github.io/okhttp/3.x/okhttp/okhttp3/Authenticator.html。然而,客户端总是在没有授权标头的情况下发出请求,然后添加它。我们可以使用验证器,并且仍然在单个请求中向我们的资源服务器提供授权标头吗?我们可以预测挑战。但是,不确定是否可以避免在没有授权标头的情况下向服务器发出请求。

我们可以使用拦截器来抢先添加标头。

是否可以在没有代理服务器的情况下使用Authenticator并抢先添加标头?

您可以使用Interceptor来实现抢占式身份验证。这给了你充分的灵活性。

你说得对,纯粹使用Authenticator,同时总是对失败的401做出回应。

因此,像okhttp摘要这样的库缓存了要抢先实现的身份验证方法。

https://github.com/rburgst/okhttp-digest/blob/master/src/main/java/com/burgstaller/okhttp/AuthenticationCacheInterceptor.java

相关内容

最新更新