1

Je développe un client Android avec le backend GAE et j'utilise les comptes de téléphone pour l'authentification. Après avoir récupéré le cookie d'authentification de GAE, je peux effectuer des appels authentifiés sur le serveur, mais dès que l'application est fermée, lorsque l'application est relancée, je dois à nouveau lancer le processus d'auth nouveau cookie. Existe-t-il un moyen de stocker cet objet Cookie et de le vérifier après la première fois que l'authentification a eu lieu, donc je n'ai pas besoin de le faire à chaque lancement de l'application?Stockage de cookie Google AppEngine dans Android

+0

Il ne sera pas nécessaire d'inviter l'utilisateur. –

+0

Je voudrais éviter et appel de serveur supplémentaire si possible. – oviroa

Répondre

2

sonne comme une bonne utilisation pour les SharedPreferences

PreferenceManager.getDefaultSharedPreferences().edit().putString("cookie", myCookie).commit(); 
String myCookie = PreferenceManager.getDefaultSharedPreferences.getString("cookie", null); 
+0

Ok, donc cela stocke la valeur du cookie sous forme de chaîne, ce qui peut être suffisant. Je me demandais s'il y avait un moyen de stocker une instance chargée de la classe Cookie. – oviroa

+0

De la même manière, il suffit de sérialiser la classe de cookies et de l'écrire selon vos préférences. – schwiz

+0

Bonne idée, fera cela. – oviroa

0

Si vous voulez tirer parti des fonctionnalités du fournisseur déjà mis en œuvre, vous devez utiliser AccountManager:

AccountManager am = AccountManager.get(MyActivity.this); 
Account[] aArray = am.getAccountsByType(ACCOUNT_TYPE); 
/* choose correct account from the resulting array */ 
/* ex. Account a = aArray[0]; */ 
try { 
    String token = am.blockingGetAuthToken(a, Constants.AUTHTOKEN_TYPE, false); 
} catch (OperationCanceledException e1) { 
    e1.printStackTrace(); 
} catch (AuthenticatorException e1) { 
    e1.printStackTrace(); 
} catch (IOException e1) { 
    e1.printStackTrace(); 
} 

Vous devez remplacer la méthode getTokenType() de votre authentificateur de compte pour renvoyer le cookie d'authentification GAE dans le regroupement de résultats sous la clé AccountManager.KEY_AUTHTOKEN. Reportez-vous à AccountManager description de la classe pour la procédure d'authentification détaillée. Pourquoi ne pas simplement vous ré-authentifier?

+0

Ma question était plus sur la façon de stocker ce cookie qui se définit comme le jeton d'authentification revient de GAE après l'authentification avec le compte. – oviroa