Zf2 - 在多个网站上使用会话/登录状态

Zf2 - Using sessions / logged in status across multiple web sites

我正在使用带 ApiGility 的 Zend Framework 2。

我有以下场景:

  1. 用户登录和管理帐户的网站:www.website.com
  2. 单独托管的应用:app.website.com(用户想要使用)

子域不一定托管在同一环境甚至同一数据中心。

现在,如果用户直接访问应用程序,我需要检查他们是否登录到主网站,以便我可以获取应用程序所需的用户相关信息。

我不是 100% 确定最好的方法。

为了让应用程序正常运行,我需要满足以下条件:

  1. 32 位代码(应用程序用来代替私人信息的唯一标识符)
  2. 账户余额(用于支付应用服务费用)

要获得 32 位代码,我正在考虑设置以下内容:

    www.website.com/api/is/logged/in 

如果用户已登录,return 我需要的 32 位代码。

要获取帐户余额,我会使用代码:

    www.website.com/api[:/code]/get/account/balance

如果用户未登录,则该应用程序将提供一个表单供用户登录,该表单将发送至:www.website.com/api/logg/user/in

如果用户的账户余额需要充值,那么我可能会在 www.website.com 上打开一个 iframe 到支付页面,以便用户进行安全支付。

这对我来说是一个新领域,所以不能 100% 确定我应该采取的方向或最佳实践...

感谢任何建议。

谢谢!

听起来您希望在多个完全不同的应用程序之间实施单点登录 (SSO)。我会检查 SimpleSAMLphp...它会做你需要的一切: