3

私はphpbbフォーラムを持っており、モバイルフレンドリーアプリに使用されるレールアプリケーションを開発しています. phpbb と rails の間で SSO を実行する方法が必要です。

github で phpbb-auth という ruby​​ gem を見つけましたが、3 年以上更新されていません。

私の最初の考えは、Rails で phpass (最新の phpbb が使用しているものだと思います) を模倣し、Devise/Warden で認証するときに、Rails が phpbb_users テーブルを参照するようにすることでした。

しかし、その作業は気が遠くなるようなものになり、管理しなければならないもう 1 つのライブラリになってしまいました。

次に考えたのは、Warden が phpbb_session をチェックするプラグインを作成し、存在する場合は続行することでした。それ以外の場合は、phpbb ログイン ページにリダイレクトします。

以前にこれを行ったことがある人はいますか?もしそうなら、どのような方法を使用しましたか?

4

1 に答える 1

2

私は今同じことをしています(すでに実際に成功しています)。

したがって、基本的に、セットアップ/展開に応じていくつかのオプションがあります。以下を検討してください。

  • Rails アプリと phpbb を同じドメインにデプロイしますか、それとも異なるドメインにデプロイしますか?
  • 両方のサイトが相互にデータベースにアクセスできるようにします。
  • どの認証システムを使用したいですか? したがって、レール (つまり、devise、authlogic など) でユーザーまたは phpbb db auth (つまり、phpbb ユーザー テーブルにログインとパスワードを保存する) を認証および処理する必要があります。

これまでのところ、私は自分のアプリで phpbb db auth + 単一ドメインによる認証を実装しました (phpbb: forum.example.com、私の Rails アプリは on: example.com で Cookie を共有しています)。この場合、言及した gem (phpbb-auth) のコードを使用できます。それほど難しいことではありません。コードはまだ正常に動作しています (おそらくいくつかの調整が行われています)。

しかし

私はこの方法が好きではありません:) 私は自分のサイトをメインアプリと考えており、フォーラムがユーザーを処理したくありません...

したがって、私が理解しているように、phpbb 3 から始めて、phpbbの外部認証用のプラグイン ( API ドキュメント) を作成できます。

ネットには Python と Django の例がいくつかあります。同じドメイン+ dbアクセスの場合、このように見えます。そして、JavaScript を使ってリモートで何かを行う場合は、このように見えます。それらはPythonで書かれていますが、中にはあまり多くのPythonはなく、いくつかの例だけです:)、レールに簡単に採用できると思います.

This questionは同じことを議論していますが、より一般的な方法です。

于 2013-01-19T15:36:23.037 に答える