简体   繁体   English

Android Retrofit Bearer令牌

[英]Android Retrofit Bearer Token

I'm using Retrofit2 to consume the json. 我正在使用Retrofit2来使用json。 when I do login a bearer token is generated and saved into SharedPrefenences. 当我登录时,将生成一个承载令牌并将其保存到SharedPrefenences中。 I want to use this bearer token as Authentication header. 我想将此承载令牌用作身份验证标头。 and everytime I used it the response message was "Unauthorized" 每次我使用它时,响应消息都是“未授权”

 here's my Request: 

                @GET("user/wishlist")
       Call<WishListModel> getWishList(@Header("Authorization") String BearerToken);

and here's the call: 这是电话:

      Retrofit retrofit = new Retrofit.Builder().baseUrl("URL").addConverterFactory(GsonConverterFactory.create()).build();
      RequestInterface requestInterface = retrofit.create(RequestInterface.class);
      Call<WishListModel> call = requestInterface.getWishList("Bearer "+token);

You need to add header using OkHttp interceptor. 您需要使用OkHttp拦截器添加标头。

OkHttpClient.Builder httpClient = new OkHttpClient.Builder();

httpClient.addInterceptor(new Interceptor() {
    @Override
    public Response intercept(Chain chain) throws IOException {
        Request request = chain.request().newBuilder().addHeader("parameter", "value").build();
        return chain.proceed(request);
    }
});
Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create()).baseUrl(url).client(httpClient.build()).build();

Then use the retrofit instance to invoke your call. 然后,使用Retrofit实例调用您的调用。

Please refer Adding header to all request with Retrofit 2 请参阅将标头添加到带有Retrofit 2的所有请求中

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM