2012-01-10 6 views
1

私のGAEアプリの正しい認証方法を探しています。(Restletフレームワークを使用して)GAE Webサービスで認証を提供する方法は?

私は、安全なサービスコールのための素晴らしい方法として、クッキーを見つけた私のWebサービス用のRestletフレームワークを使用しておりますので。今、私の疑問は次のとおりです。

  1. 「クッキーに署名する」とは何ですか?
  2. クッキー値を格納する場所、DBまたは任意の静的クラス?
  3. クッキーの暗号化の仕方は?
  4. ブラウザでCookieが無効になっている場合はどうなりますか?

クッキーよりも利用可能な優れたメカニズムがありますか?

答えて

1

あなたがセッションを有効にした場合、取り扱いクッキーは自動的にあなたのための世話をされます:さて、セッションは、すべてのユーザーのために処理されhttp://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions

、それが認証されているトラックを維持するのはあなた次第です:

  1. ユーザーがログインすると、add some auth datasessionになります。このデータには、有効期限のIDが含まれている場合があります。リクエストが来たとき、このデータがある場合、それはまだ有効かどう
  2. は、セッションを見てください。
  3. 有効な場合は、通常どおり処理を進めます。
  4. 有効またはセッションで無認証データでない場合は、(RESTの場合)リターンエラーまたはログインページにリダイレクトします。

これらの機能はすべて通常servlet filterで実行されます。フィルタは、サーブレットがリクエストを処理する前後にリクエストを処理するため、リクエストをインターセプトして(リクエストが認証されているかどうかを確認するなど)何らかの処理を行うオプションを提供します。

+0

あなたがRESTfulなサーバー側のアプリケーションを開発している場合、私はセッションとしてのコンセプトを使用していないだろう。 RESTは、クライアントがクライアント状態を維持し、そのようなサーバー側セッションが悪いことを意味します。 RESTLetのCookieSettingsを見てください:サーバーによって提供されるCookie設定。これにより、サーバーサイドのアプリケーションは、クライアント上のクッキーを追加、変更、または削除することができます。 – koma

+0

@komaすべてのクライアントデータは、すべてのリクエストでクッキーの形で渡さなければなりませんか? – Vivek

+0

@koma:RESTリクエストがブラウザから来ていない可能性があります。この場合、コードでセッションCookieを明示的に処理する必要があります。 OTOH、これはあなた自身の「クッキー」をどう扱うのでしょうか? –

関連する問題