【问题标题】:Sharing session data between rails and wordpress在 rails 和 wordpress 之间共享会话数据
【发布时间】:2015-09-04 05:30:25
【问题描述】:

我有两个网络应用程序正在运行。一个是 Rails 应用程序,它是应用程序的核心,另一个是 wordpress 应用程序(用于在线商店)。

我的挑战是在两个应用之间共享登录数据/会话数据。因此,如果我登录到 rails 应用程序,然后单击购物选项卡,如何将用户会话转移到 wordpress 站点?

反之亦然。如果我在 wordpress 网站上购物,并想登录购买商品,如何通过 rails 应用登录?

我相信有单点登录插件可以实现这一点,但我还没有找到任何关于如何实现这一点的具体内容。出于某种原因,wordpress 的开发非常糟糕:(。

【问题讨论】:

  • 如何使用 OpenID/oAuth?我敢肯定,与将他的点连接起来并可能造成不安全的漏洞相比,实施起来的压力要小得多!
  • @ScottMcGready 我已经考虑过了。我以前从未使用过 openid,但假设它是两个应用程序之间共享的用户的唯一 ID?
  • 我有一个建议,用户单击 rails 应用程序中的特殊链接,此操作将他连接到 WordPress。这对你有帮助吗?
  • @Seal More or less。我当然会尽量避免使用任何自定义解决方案,因为它必然会导致安全问题。
  • 仅供参考的 Wordpress 会话是无状态的

标签: php ruby-on-rails wordpress ruby-on-rails-3 session


【解决方案1】:

这 2 个应用程序是否在同一主机上运行?同一个域?共享数据库?

听起来您最好的选择是某种身份验证服务,例如众多 OAuth 身份验证器服务之一(Facebook、Twitter 等),或者编写您自己的 OAuth 服务。

或者,如果这 2 个应用程序是小规模的并且在同一台机器上运行,则可以修改 rails 应用程序或 WordPress 的会话处理程序以使用对方的会话数据。我怀疑 WordPress 会在两者中更容易修改,但我对 PHP 有偏见

快速搜索并找到了这篇关于修改 Rails cookie 会话以与 PHP 一起使用的文章。

https://www.coffeepowered.net/2011/08/24/rails-cookie-sessions-and-php/

我还发现这篇文章可能正是您正在寻找的? http://code.tutsplus.com/tutorials/build-a-custom-api-to-connect-wordpress-with-ruby-on-rails--cms-21189

不幸的是,我从来没有从任何一个方向尝试过。但我对 WordPress 非常熟悉,相信只要付出足够的血汗和泪水,它就可以与 Rails 会话配合使用。

【讨论】:

  • 他们没有共享数据库,也没有在同一个域上运行。我喜欢 api 功能,但这应该又快又脏。我曾想过在 wordpress 网站上创建一个 oauth 服务器,在 rails 应用程序上使用 devise 和 oauth 通过 wordpress 进行身份验证,然后重定向回 rails 应用程序。然后他们可以登录到 wordpress 网站和 rails 应用程序。
  • @seal 你最后怎么样了?
  • 我想我最终使用了一个 oauth 库在两者之间共享数据
猜你喜欢
  • 2012-03-27
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 1970-01-01
  • 2010-12-01
  • 2013-02-15
  • 1970-01-01
  • 2018-08-29
相关资源
最近更新 更多