2016-12-08 7 views
0

nicht speichern So baue ich eine Android App, die mit einem API kommuniziert.Kann Autorisierung Header in Android mit Volley

Immer wenn sich ein Benutzer anmeldet, sehe ich die Antwort in der Protokollkatze, die das user details einschließlich des authentication Tokens enthält, aber der Benutzer erhält unauthorized access, obwohl die Anmeldung erfolgreich ist.

Meine Frage ist; Wie autorisiere ich den Benutzer? Wie speichere ich den Tokenkopf in Android mit volley? Dieses Konzept ist neu für mich. Bitte helfen Sie.

Antwort

0

Nachdem Sie sich angemeldet haben, müssen Sie den Sitzungscookie, Zugriffstoken oder was auch immer Ihre API zur Verfügung stellt speichern. Ich verwende normalerweise SharedPreferences.

Später in Ihrer nächsten API-Anfrage müssen Sie die getHeaders();

JsonObjectRequest volleyRequest = new JsonObjectRequest(url, null, responseListener, errorListener){ 
    @Override 
    public Map<String, String> getHeaders() throws AuthFailureError { 
     HashMap<String, String> params = new HashMap<>(); 
     // put your accesstoken if available 
     params.put("X-CSRF-Token", accessToken); 
     // put a session cookie if available 
     params.put("cookie", sessionName + "=" + sessionId); 
     return params; 
    } 
}; 
+0

Immer noch nicht mein Problem zu lösen, weil ich immer noch den "nicht autorisierten" Fehler bekommen. – Dayvino

+0

Zuerst müssen Sie herausfinden, was genau mit Ihrer API funktioniert, wenn Sie keine richtige API-Definition haben, können Sie leicht mit Tools wie Postman https://www.getpostman.com/ testen –