2

在我的 iOS 应用程序中,我有一个 WebView,它使用我的 GAE 应用程序进行身份验证。登录工作正常,我可以看到 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. 是否可以获得用户登录时使用的电子邮件地址?

谢谢!乙

4

2 回答 2

0

我从未尝试在 iOS 上执行此操作。但在 Android 上,我使用 App Engine Rest Client 进行身份验证。我看到他们为每个请求存储和恢复 cookie。所以我相信它肯定会在 iOS 上运行。

我很难为每个请求都包含 ACSID cookie,它确实有效。您必须确保它们确实位于服务器上的请求标头中。如果您成功通过应用引擎进行身份验证。您可以在 appstats 中查看 CGI 环境并查看身份验证信息。

这是应用引擎上的 android 客户端身份验证器的链接https://code.google.com/p/aerc/。您可以在 iOS 上查看并重新实现。

如果您想要用户电子邮件地址,并且可以从应用引擎上的用户对象获取它,users.get_current_user().email() 并通过 http 请求从您的客户端应用程序请求它。

希望能帮助到你

于 2012-06-17T12:10:16.560 回答
0

我不会依赖未记录的行为——如果您想知道用户是否已登录以及用户的电子邮件地址,请将该信息以 HTTP 响应的形式直接发送回您的客户端。

没有什么说行为 ACSID cookie 不会随意改变。

于 2012-06-16T22:21:50.083 回答