2014-06-27 11 views
7

Qualcuno può per favore mi suggeriscono un modo per gestire i cookie in robospice retrofit richieste di tipo HTTP.Uso Biscotti con Robospice retrofit richieste

Ho un sistema di autenticazione che ha un login, alcune richieste HTTP GET, e un logout.

Durante login ho bisogno di salvare la sessione e utilizzare la stessa sessione per il resto le richieste HTTP GET e quando logout della sessione deve essere eliminato.

Qui il login è una richiesta HTTP POST che invia e recieves dati attraverso formato JSON. Uso il retrofit di Robospice perché gestisce facilmente le richieste di accesso e di disconnessione.

risposta

7

È possibile impostare a livello di sistema cookie-gestore tramite java.net.CookieManager

CookieManager cookieManager = new CookieManager(); 
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL); 
CookieHandler.setDefault(cookieManager); 

nella classe personalizzata Application.

Per cancellare i cookie dopo il logout è possibile utilizzare questo metodo come

public void clearCookies() { 
    cookieManager.getCookieStore().removeAll(); 
} 
+0

Funziona solo per API> = 9 giusto? Ho bisogno del supporto per l'API 8 di Android anche –

+0

@RevanthGopi sì, è vero. Puoi controllare il livello API a runtime (come fa Retrofit) e lavorare con la gestione dei cookie di 'java.net.CookieManager' per API> = 9 e con' BasicCookieStore' di Apache per API <9. Vedi questa domanda per un possibile modo di usare 'BasicCookieStore': http://stackoverflow.com/questions/18894540/using-retrofit-with-cookie-persistence – colriot