Хранение файла cookie Google AppEngine в Android - PullRequest
1 голос
/ 27 июня 2011

Я разрабатываю клиент Android с бэкэндом GAE и использую учетные записи телефона для аутентификации.

После того, как я получаю куки аутентификации из GAE, я могу делать аутентифицированные звонки на сервер, но как только приложение закрывается, когда приложение перезапускается, мне нужно снова запустить процесс аутентификации, спроситьдля нового печенья.Есть ли способ сохранить этот объект Cookie и проверить его после первой проверки подлинности, чтобы мне не приходилось делать это каждый раз при запуске приложения?

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

Звучит как хорошее применение для SharedPreferences

PreferenceManager.getDefaultSharedPreferences().edit().putString("cookie", myCookie).commit();
String myCookie = PreferenceManager.getDefaultSharedPreferences.getString("cookie", null);
0 голосов
/ 28 июня 2011

Если вы хотите использовать функциональность уже внедренного провайдера, вы должны использовать 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();
}

Вам необходимо переопределить метод getTokenType () вашего аутентификатора учетной записи, чтобы вернуть cookie-файл GAE-аутентификации в пакете результатовпод ключ AccountManager.KEY_AUTHTOKEN.Обратитесь к AccountManager описанию класса для подробной процедуры аутентификации.

...