0

我计划将 Java 应用程序部署到 Google AppEngine 并使用联合登录(根据 Google 仍处于试验阶段)。该应用程序是非常简单的 Java EE 应用程序,它为简单的 CRUD 操作公开了 RESTful 接口。

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

是否可以使用联合登录来做这样的事情?我发现一篇文章解释了如何使用谷歌专有登录来做到这一点。

谢谢你,伊多。

4

1 回答 1

1

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

  1. 当我向我的 Web 服务发送 HTTP 请求时,我得到 302 Found 响应,响应标头名称 Location 指向登录页面。
  2. 我使用 WebBrowser 控件,向它注册 Navigated even 并导航到 Location 标头中的 URL。
  3. 当 Navigated 甚至触发时,我使用此答案中的代码来获取 cookies 容器
  4. 我检查每个 cookie,直到找到一个名为 ACSID 的 cookie 并将其存储。
  5. 对于我的服务的每个 Web 请求,我都会添加 cookie 名称 ACSID 以及在步骤 4 中保存的值。

这不是最安全的方法。我将添加对 cookie 域的检查,但这看起来不错。

于 2012-06-12T04:47:42.177 回答