Discourse 経由で Drupal に認証できますか?

Discourse でユーザーアカウントを作成し、そのアカウントで Drupal に認証することは可能でしょうか?アカウントは Discourse に管理させたいと考えています。

検索してみても、逆のパターン(Drupal を認証ソースとして使用する)についての情報しか見つかりません。

私の具体的な状況は、家族向けに Discourse インスタンスを運用していることです。Drupal 8 を使ってレシピ共有サイトを設置したいのですが、家族にまた別のサービスへの登録を強いるのは避けたいと考えています。すでに Discourse への参加を促すのも非常に苦労しています…

ご回答をよろしくお願いいたします。

Discourse は SSO プロバイダーとして機能できます。Drupal との連携を設定することは可能ですが、そのための既存の Drupal モジュールは存在しないようです。必要な詳細については、Use Discourse as an identity provider (SSO, DiscourseConnect) をご覧ください。

Drupal に固執しない場合、Discourse WordPress プラグインを使用することで、WordPress サイトの SSO プロバイダーとして Discourse を活用できます。

少数のユーザー(しかも両方を使わない可能性もある)のために、必要かもしれない依存関係を作成するのはなぜでしょうか?2 つの全く異なるインターフェースは、参加のさらなる障壁となります。

以下の 2 つの選択肢を検討してください:

  • レシピも Discourse で管理する。
  • 両方とも Drupal で管理する。

ありがとうございます。まさに探していたものです。:slight_smile:

そもそも、それはどのような認証方式なのでしょうか?OAuth、OpenID Connect?仕組みの説明から判断できるはずだと思ったのですが、ピンと来ません。

「適切なツールを適切な仕事に使う」これが簡潔な答えです。Discourse は素晴らしいフォーラムコミュニティソフトウェアです。一方、Drupal のフォーラムモジュールは、正直なところ残念な出来です。

Drupal はコンテンツ同士を関連付けるのが得意ですが、Discourse を無理やり Drupal でできるようなことに使おうとするのは狂気の沙汰です。例えば、Drupal のレシピモジュールでは、材料を独自のエンティティとして作成します。つまり、プロフィールに好きな材料をリストアップし、それに基づいて自分が気に入る可能性のあるレシピのリストを生成できます。

とは言え、私もこうした作業自体を楽しんでいます。これは私の本業であり、趣味でもあります。Discourse との連携ができると嬉しいですが、最終的にはレシピサイトは自分自身のためのものがほとんどです。ですから、友人や家族を誘えなくても、それ自体が役立つのです。:slight_smile:

これは Discourse 独自の SSO 実装です。Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso) の逆の仕組みと言えます。サンプルコードをご覧になりたい場合は、WordPress プラグインの SSO クライアントコードはここにあります:https://github.com/discourse/wp-discourse/tree/master/lib/sso-client。WordPress 上でこれを実装する際、最も厄介だったのは、一意の nonce が必要という点でした。おそらく、Drupal ならそれをより簡単に実装できるでしょう。

Discourse と Drupal の統合に関するご尽力を心よりお待ちしております!