对使用Windows客户端应用程序的联合登录的Google AppEngine应用程序进行身份验证

时间:2012-06-11 13:19:18

标签: google-app-engine authentication

我计划将一个Java应用程序部署到Google AppEngine并使用联合登录(根据Google仍然是实验性的)。该应用程序是非常简单的Java EE应用程序,它为简单的CRUD操作提供RESTful接口。

然后我希望能够使用C#编写的Windows客户端应用程序对此应用程序进行身份验证。 我认为应用程序应该能够打开一个带有浏览器的窗口,它将显示我的Web应用程序的登录页面,并且在成功验证后,我应该能够获取登录令牌或cookie以用于我的其余HTTP请求。

是否可以使用联合登录进行此类操作? I've found a post explain how to do it using google proprietary login.

谢谢你, IDO。

1 个答案:

答案 0 :(得分:1)

我设法使这项工作比我想象的要容易得多。

  1. 当我向我的网络服务发送HTTP请求时,我得到302发现响应,响应标题名称位置指向登录页面。
  2. 我使用WebBrowser控件,注册到它甚至导航并导航到Location头中的URL。
  3. 当Navigated even fire时,我使用this answer to get the cookies container中的代码。
  4. 我检查每个cookie,直到找到一个名为ACSID的cookie并存储它。
  5. 对于我的服务的每个Web请求,我添加cookie名称ACSID,其值为步骤4中保存的值。
  6. 这不是最安全的方法。我将添加检查cookie的域名,但这看起来不错。

相关问题