Аутентификация Android для учетных записей Google передана в Google App Engine

Прежде чем я углублюсь в детали реализации этого конкретного дизайна, мне нужен совет / подтверждение того, правильно ли я подхожу к нему. Я новичок в Android, продвинутый новичок в Python, GAE и OpenId.

Среда

  • Приложение для Android
  • Веб-службы, созданные на Python на Google App Engine
  • Пользователь (пользователи) с учетной записью Google

Сценарий

Я хочу включить возможности входа в свое приложение Android без написания собственной системы аутентификации в GAE. В приложении пользователь должен иметь возможность играть в качестве гостя без возможности сохранения рекордов. Если пользователь хочет сохранить свои рекорды, он аутентифицируется в своей учетной записи Google на устройстве Android. В конце игры рекорды аутентифицированного пользователя будут сохранены (связаны с его учетной записью Google) через игровые веб-службы на Google App Engine. Пользователь также должен иметь возможность выйти из системы и передать устройство другу, который также может войти в систему, сыграть в игру и сохранить свои рекорды, связанные со своей учетной записью Google.

Дизайн

  1. В приложении для Android, используйте OpenId для аутентификации всякий раз, когда пользователь желает войти в систему (используя что-то вроде того, что Ник опубликовал здесь .
  2. Возьмите токен OpenId из возвращаемого файла cookie и свяжите его с текущим пользователь.
  3. Сделать вызов веб-службы к службам GAE, добавив токен в качестве cookie и указав высокий балл
  4. Веб-служба будет проверять, что токен действителен
  5. Веб-служба будет определять уникальные учетные записи Google идентификатор, связанный с токеном (не знаю, как это сделать, но предполагая, что должны быть средства для этого) и поиск этого уникального идентификатора в таблице перекрестных ссылок, чтобы найти идентификатор пользователя в игре (который был ранее создан во время настройки учетной записи)
  6. Сохраните рекорд, связанный с внутриигровым идентификатором.
  7. Разрешить выход, чтобы другой пользователь мог войти в игру со своей учетной записью Google и повторить описанный выше процесс

Спасибо за вашу помощь

5
задан Erds 23 August 2011 в 02:20
поделиться