5

この特定の設計の実装の詳細を掘り下げる前に、私がそれに正しく取り組んでいるかどうかについてのアドバイス/検証が必要でした. Android の初心者の知識と、Python、GAE、および OpenId の上級初心者の知識があります。

環境

  • Android アプリケーション
  • Google App Engine 上の Python で構築された Web サービス
  • Google アカウントを持つユーザー

シナリオ

GAE で独自の認証システムを作成せずに、Android アプリケーションでサインイン機能を有効にしたいと考えています。アプリ内で、ユーザーはハイスコアを保存する機能なしでゲストとしてプレイできる必要があります。ユーザーが自分のハイスコアを保存したい場合は、Android デバイスで自分の Google アカウントに対して認証を行います。ゲームの終了時に、認証されたユーザーのハイスコアが、Google App Engine 上のゲームの Web サービスを介して (ユーザーの Google アカウントに関連付けられて) 保存されます。また、ユーザーはサインアウトして、ログインしてゲームをプレイし、Google アカウントに関連付けられたハイスコアを保存できる友人にデバイスを渡すこともできる必要があります。

デザイン

  1. Android アプリケーションでは、ユーザーがサインインするときはいつでも認証に OpenId を使用します (Nick がここに投稿した内容に沿ったものを使用します) 。
  2. 返された Cookie から OpenId トークンを取得し、それを現在のユーザーに関連付けます。
  3. トークンを Cookie として追加し、ハイスコアを含める GAE サービスへの Web サービス呼び出しを行う
  4. Web サービスは、トークンが有効であることを認証します。
  5. Web サービスは、トークンに関連付けられた一意の Google アカウント ID を決定し (これを行う方法はわかりませんが、これを行う手段があるはずです)、相互参照テーブルに対してその一意の ID を検索して、ユーザーを見つけます。 - ゲーム ID (アカウントのセットアップ中に以前に作成されたもの)
  6. ゲーム内IDに関連付けられたハイスコアを保存します。
  7. ログアウトを許可して、別のユーザーが自分の Google アカウントでゲームにログインし、上記のプロセスを繰り返すことができるようにします

ご協力ありがとうございました

4

2 に答える 2

4

2011 Android + App Engine IOトークが役立つかもしれません。

于 2011-08-18T16:14:41.283 に答える
0

OAuth の代わりに Google の OpenID を調べます。OpenID は、連携ログイン用のプロトコルです。OpenID に関する Google の情報を参照してください。

于 2011-08-18T15:25:37.827 に答える