gpt4 book ai didi

ruby-on-rails-3 - PHPBB 身份验证 + Rails

转载 作者:行者123 更新时间:2023-12-05 01:22:50 24 4
gpt4 key购买 nike

我有一个 phpbb 论坛,我正在开发一个将用于移动友好应用程序的 Rails 应用程序。我需要一种在 phpbb 和 rails 之间执行 SSO 的方法。

我在 github 上找到了一个名为 phpbb-auth 的 ruby​​ gem,但它已经 3 年多没有更新了。

我最初的想法是在 rails 中模仿 phpass(我相信这是最新的 phpbb 使用的),然后在使用 Devise/Warden 进行身份验证时让 rails 引用 phpbb_users 表。

然而,这项任务变得令人生畏,并且将成为另一个需要管理的库。

我的下一个想法是为 Warden 编写一个插件来检查 phpbb_session,如果存在,则继续。否则将他们重定向到 phpbb 登录页面。

以前有没有人遇到过这样做,如果有的话,您使用的是什么方法。

最佳答案

我现在正在做同样的事情(实际上已经成功了)。

因此,根据您的设置/部署,您基本上有多种选择。考虑以下内容:

  • 您会将 Rails 应用程序和 phpbb 部署在同一域还是不同域?
  • 让两个站点都可以访问彼此的数据库。
  • 您希望使用哪种身份验证系统?因此,您希望 rails(即设计、authlogic 或其他)验证和处理用户或 phpbb db auth(即在 phpbb 用户表中存储登录名和密码)。

到目前为止,我已经使用我的应用程序通过 phpbb db auth + 单域实现了身份验证(phpbb:forum.example.com,我的 Rails 应用程序在:example.com 上用于 cookie 共享)。在这种情况下,您可以使用您提到的 gem (phpbb-auth) 中的代码。这不是很难。代码仍然可以正常工作(可能进行了一些调整)。

但是

我不喜欢这样 :) 我认为我的网站是一个主要的应用程序,不希望论坛来处理我的用户...

因此,据我所知,从 phpbb 3 开始,您可以为 phpbb 的外部身份验证编写插件(API docs)。

网上有几个Python和Django的例子。看起来像 this one对于相同的域 + 数据库访问。看起来像 this one用于使用 JavaScript 远程执行操作。这些是用 Python 编写的,但里面没有太多 Python,只有一些示例 :),所以我认为您可以轻松地将它们用于 Rails。

This question讨论相同的内容,但以更通用的方式。

关于ruby-on-rails-3 - PHPBB 身份验证 + Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14320865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com