有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在安卓 studio中使用刷新令牌?

我需要通过发送一个refreshToken来捕获一个过期的token,作为回报,获取新的access_token和refresh_token。下面我列出了我将要使用的代码。它写得不完整,因为我不完全理解一切

@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();

共 (0) 个答案