Interface:autorisation de base en retrofit
@GET("burrowedbooks/")
Call<JsonArray> getCategoryList(@Header("Authorization") String token);
Utilisation:
private LibraryAPi service;
Retrofit retrofit = new Retrofit.Builder()
//.client(client)
.baseUrl(String.valueOf(R.string.base_url))
.addConverterFactory(GsonConverterFactory.create())
.build();
service = retrofit.create(LibraryAPi.class);
// Extract token from Shared Preferences.
SharedPreferences prefs = getActivity().getSharedPreferences(getString(R.string.login_data), MODE_PRIVATE);
String token = "Bearer "+prefs.getString("token","");
Call<JsonArray> categoryListResponseCall = service.getCategoryList(token);
categoryListResponseCall.enqueue(new Callback<JsonArray>() {
@Override
public void onResponse(Call<JsonArray> call, Response<JsonArray> response) {
int statusCode = response.code();
Toast.makeText(getContext(), ""+statusCode, Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<JsonArray> call, Throwable t) {
}
});
J'essaie d'envoyer jeton d'authentification stockées dans les préférences partagées. Le code ci-dessus ne fonctionne pas. Il renvoie le code d'état interdit 403. Quelle est la bonne façon d'envoyer l'en-tête d'authentification?
Probablement le jeton a expiré –