我需要通过发送一个refreshtoken来捕获一个过期的令牌,作为回报,获取新的访问令牌和刷新令牌。下面我列出了我将要使用的代码。它写得不完整,因为我不完全理解一切。
@FormUrlEncoded
@POST("/api/o/token/")
Call<TokenModel> getToken(
@Field("username") String username,
@Field("password") String password,
@Field("client_id") String clientId,
@Field("client_secret") String clientSecret,
@Field("grant_type") String grantType
);
@FormUrlEncoded
@POST("/api/o/token/")
Call<TokenModel> getNewToken(
@Field("refresh_token") String refreshToken,
@Field("client_id") String clientId,
@Field("client_secret") String clientSecret,
@Field("grant_type") String grantType
);
@GET("/api/users/profile")
Call<UserProfile> getProfile();
我在不明白的地方打了问号。我只是没和哈德搞清楚。我应该在逗号后面加什么?服务器接收新令牌所需的一切(在我的例子中,它是string refreshtoken、string clientid、string clientsecret、string granttype)还是不是?
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(logging)
.addInterceptor(new AccessTokenInterceptor(preferences))
.addInterceptor(new Interceptor() {
@NotNull
@Override
public Response intercept(@NotNull Chain chain) throws IOException {
Request original = chain.request();
Request request = original.newBuilder()
.header("Authorization", ?)
.method(original.method(), original.body())
.build();
Response response = chain.proceed(request);
Log.d("MyApp", "Code : "+response.code());
if (response.code() == 401){
?
return response;
}
return response;
}
})
.build();
暂无答案!
目前还没有任何答案,快来回答吧!