如何从Okhttp Authenticator发出HTTP请求?

时间:2016-07-13 14:21:01

标签: okhttp3

我正在使用Okhttp3,我想建立一个OAuth2 Authenticator

有时,我需要从Authenticator本身发出http请求(即:刷新令牌),但是api没有提供这样做的方法。

当然,我可以创建一个新的okhttp实例,但我不知道它是否是推荐的实践。

这是否符合我的需要?

1 个答案:

答案 0 :(得分:2)

不可能开箱即用,但有些解决方法可行:

  • OkHttpClient
  • 中创建Authenticator的新实例
  • 在Authenticator
  • 中添加setHttpClient方法

MyAuthenticator authenticator = new MyAuthenticator();
OkHttpClient client = new OkHttpClient.Builder()
    .authenticator(authenticator)
    .build();
authenticator.setHttpClient(client);

来自:https://github.com/square/okhttp/issues/2733