Tim*_*Tim 6 java authentication google-app-engine
我只是对Google应用引擎的用户服务如何运作感到好奇.我理解它的方式,登录状态的用户存储在cookie中.要获取cookie,必须有一个http servlet请求对象(至少对于java servlet).但是用户服务api不需要任何http servlet请求作为输入,那么如何让cookie检查用户是否已登录?
蒂姆
在请求期间,用户设置由 Google 的 servlet 实现处理。
[I]如果用户已登录并使用标准 servlet API 以及请求对象的 getUserPrincipal() 方法获取用户的电子邮件地址或 OpenID 标识符。
在登录过程中,该服务使用重定向来工作,类似于 OpenID 或 OAuth。查看整个登录过程中的 URL。
用户将被重定向到应用程序上由 App Engine 处理的 URL,如下所示:
http://app.appspot.com/_ah/login?continue=http://app.appspot.com/dosomething
登录处理程序重定向到 Google 登录服务,如下所示:
https://www.google.com/accounts/ServiceLogin?service=ah&continue=http://app.appspot.com/_ah/login%3Fcontinue%3Dhttp://app.appspot.com/dosomething<mpl=gm&ahname=Your+App+Name&sig=hf3322hdsk98fd8fh3u29hfh24as
您登录,然后 Google 将您重定向回应用程序引擎登录处理程序:
http://app.appspot.com/_ah/login?continue=http://app.appspot.com/dosomething
当 Google 重定向时,一些查询参数将传递给 App Engine 登录处理程序,内置登录处理程序将设置 cookie。
然后,您将被重定向到您指定的 URL,或者您“开始”的位置。就像是:
http://app.appspot.com/dosomething
| 归档时间: |
|
| 查看次数: |
1311 次 |
| 最近记录: |