gpt4 book ai didi

java - OkHttp3 身份 validator 与 RxJava

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:15 25 4
gpt4 key购买 nike

我有一个 TokenProvider 方法:

public Observable<Token> authWithRefreshToken() {
[...]
return makeOAuth2Call(source);
}

OkHttp 的 Authenticator 实现如下所示:

@Override
public Request authenticate(Route route, Response response) throws IOException {

Observable<Token> tokenObservable = tokenProvider.authWithRefreshToken();

return response.request().newBuilder()
.header("Authorization", "Bearer " + "HERE_I_HAVE_TO_SET_THE_TOKEN")
.build();
}

基本上,我的问题是:如何做对?我能以某种方式同步接收 token 吗?当然我可以更改我的 OAuth API,但我只是好奇。

最佳答案

所以在搜索了一段时间后我发现了这个:

@Override
public Request authenticate(Route route, Response response) throws IOException {

Token tokenObservable = tokenProvider.authWithRefreshToken().toBlocking().first();

return response.request().newBuilder()
.header("Authorization", "Bearer " + tokenObservable.getRefresh_token())
.build();
}

正如 toBlocking 的文档所说:

Converts an Observable into a BlockingObservable (an Observable with blocking operators).

关于java - OkHttp3 身份 validator 与 RxJava,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41516128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com