我在AppEngine上运行了一个主网站。它位于 main.example.com 等子域中。该主要应用程序是我们客户的内容门户。它提供了一个基于YUI构建的Ajax应用程序。客户可以将数据上传到它。用户使用联合登录进行身份验证。
上面的Ajax应用程序允许用户处理先前上传的数据。要做到这一点,它应该使用在 service.example.com 等其他子域上运行的Web服务。 Web服务不在AppEngine上运行,但在我们的服务上运行 - 它的CPU很重,并且基于其他技术构建。它需要在主应用程序上下载数据 - 但下载服务 - 就像主应用程序上的所有内容一样 - 都在身份验证墙后面。
我可以以编程方式始终允许服务下载wharever,但我认为这可能会成为一个主要的安全问题。
如何重用OpenID身份验证“令牌”以允许它(服务)作为经过身份验证的用户在主应用程序中显示,以便它可以下载数据?或者如果我能做到这一点,那么完成我打算做的最好的方法是什么?
答案 0 :(得分:1)
您无法真正重复使用身份验证令牌。您应该使用的是类似于OAuth的东西,但是既然您控制了两端,您可以使它更简单:
这听起来很复杂,但实施起来相当简单。这是在相互信任的系统之间“传递”凭证的标准方法,它与许多SSO系统使用的方式不同。