2011-01-03 14 views
3

アンドロイドで実行されるモバイルアプリケーションの認証サーバーとしてGoogle App Engineを利用しようとしています。ユーザー名とパスワードはGAEに保存されます。私の目標は、GAEを使用してモバイルアプリケーションから資格情報を保存して確認することです。これは可能ですか?私はOAuthとJSONを見てきましたが、私はそのための適切な設定がないと思います。モバイルアプリケーション用の認証サーバーとしてのGoogle App Engine

また、私が間違った方法をとっている場合は、適切な方法を教えてください。

答えて

0

「storign credentials」とは、ユーザー名とパスワードの格納を意味する場合、間違った方向に進むと思います。 OAuthやOpenIDについて話しているかのように、委任された認証メカニズムのパスワードを見たりアクセスしたりすることは決してありません。その代わりに、あなたの仕事を行うための認証トークンや認証トークンを受け取ることができます(OpeniDの場合は、氏名や電子メールアドレスなどの人に関するメタ情報)。

ところで、あなたはJanrainのようなサードパーティを考えましたか?

1

GAEインスタンスでよりAPIに似た実装が必要な場合は、OAuthを詳しく見てみましょう。しかし、この1つのモバイルアプリケーションの資格情報の検証にのみ関心がある場合は、それほど遠くに行く必要はありません。

幸いにも、GAEインスタンスをSSL経由で呼び出すことができます。つまり、ハンドシェイクと暗号化のすべての業務をオフロードできます。次に、単にhttp-basic authenticationのいずれかを使用するか、リクエスト内のパラメータとしてuser-idと暗号化されたパスワードを送信するだけです。

iPhoneにはパスワードを保存するためのキーチェーンがありますが、おそらくAndroid対応のものがありますか?とにかく、デバイスとGAEデータストアで暗号化されたパスワードを保存してください。資格情報の検証時に暗号化されたパスワードを送信します。ユーザーのクリアテキストのパスワードは決して知るべきではありません。それは私が十分だと思うレベルの曖昧さを提供するでしょう(間違いなくSSL経由で送信されるとき)。

次に、アカウントの資格情報が確認されているかどうかを返すことができます。

関連する問題