2

私のiOSアプリには、GAEアプリを使用して認証するWebViewがあります。ログインは正常に機能しており、Cookie データを確認できます。

認証後に表示される Cookie データの例: (ACSID は簡潔にするために短縮されています)

=======
2012-06-16 10:00:13.784 FooApp[6342:12203] <NSHTTPCookie version:0 name:"ACSID" value:"AJKiYcGJTQ964S0JF7Rp5H" expiresDate:2012-06-30 13:57:59 +0000 created:2012-06-16 13:58:01 +0000 (3.61548e+08) sessionOnly:FALSE domain:"foo.appspot.com" path:"/" isSecure:FALSE>
=====

2つの質問..

  1. ACSID が認証を証明するのに十分な値を持っていることを確認していますか? そうでない場合、何をチェックすればよいですか?
  2. ユーザーがログインしているメールアドレスを取得することはできますか?

ありがとう!B

4

2 に答える 2

0

文書化されていない動作には依存しません。ユーザーがログインしているかどうか、およびユーザーの電子メールアドレスを知りたい場合は、その情報をHTTP応答でクライアントに直接返送してください。

ACSIDCookieの動作が勝手に変更されないということは何もありません。

于 2012-06-16T22:21:50.083 に答える
0

私はまだiOSでこれを試したことはありません。しかし、Android では App Engine Rest Client を使用して認証を行っています。リクエストごとにCookieを保存および復元することがわかります。だから私はそれが間違いなくiOSで動作すると信じています.

すべてのリクエストに ACSID Cookie を含めるのに非常に苦労しましたが、実際には機能します。それらが実際にサーバーの要求ヘッダーにあることを確認する必要があります。App Engine での認証に成功した場合。appstats で CGI 環境を表示し、認証情報を確認できます。

アプリ エンジンhttps://code.google.com/p/aerc/の Android クライアント認証システムへのリンクは次のとおりです。iOS で見て再実装することができます。

ユーザーのメール アドレスが必要な場合は、アプリ エンジンのユーザー オブジェクトから取得し、users.get_current_user().email() http リクエストを介してクライアント アプリからリクエストできます。

それが役に立てば幸い

于 2012-06-17T12:10:16.560 に答える