web-dev-qa-db-ja.com

分散認証システム(異なるドメイン、個別のデータベース)

複数の小さなWebサイト(マイクロサイト)と、大きなユーザーベースを持つ1つの主要な高トラフィックを取得しました。現在の要件は、ユーザーがネットワーク全体で同じIDを使用できるようにする認証システムを構築することです。

すべてのWebサイトはDrupal 6 CMSを使用して異なるドメインで実行されており、独立したデータベースを持っています(したがって、テーブルをプレフィックスで共有することはオプションではありません+データベースに大きな混乱を引き起こします)。

ここに私が思いついたコア要件のセットがあります:

  1. ユーザーは、ネットワーク内のすべてのサイトに同じ資格情報でログインできる必要があります
  2. メインサイト(ストレージ)とネットワーク内のすべてのマイクロサイト間のユーザーのデータ共有
  3. ユーザーがデータを変更したときのネットワーク全体でのデータ同期(メールやパスワードの更新など)
  4. ログイン/登録プロセスはシームレスで一貫している必要があります
  5. ネットワーク上の任意のサイトに登録し、そのIDを使用して後でログインします。

将来的には、openid認証オプションを追加する必要があるかもしれません。

基本的には、stackexchangeと同様の処理を検討していますが、中央ユーザーがベースになっていないかどうかはわかりません。

私は2つの部分(モジュール)を含むカスタムソリューションを考えていました。1つはメインサイトに格納され、ユーザーのデータを格納し、クライアントからの要求に応答します。 2番目の部分(モジュール)は、各マイクロサイトに配置され、マスターにリクエストを送信します。ある種のクライアント-サーバーのセットアップ。

私がすぐに目にする問題の1つは、#3です。ネットワーク全体のデータ同期。

私はホイールを再発明したくないだけで、おそらくいくつかの作業はすでにこの方向で行われています。

このプロジェクトへの取り組み方に関するアイデアを楽しみにしています。

編集:

最近、このトピックに関するいくつかの関連スレッドを見つけました。

http://groups.drupal.org/node/24916
http://drupal.org/node/7444

5
gansbrest

開発シードの「 OpenIDを使用したシンプルサインオン 」のブログ投稿をご覧ください。私はそれが概念の実証にすぎないと信じていますが、彼らはOpenIDを使用してサイトのネットワーク全体でシングルサインオンを実行しています。

2
thsutton

これはやり過ぎかもしれませんが、LDAPなどの使用を検討しましたか?

LDAP統合 モジュールと LDAPプロビジョニング モジュールがあります。どちらもかなりうまくいきます。

2
Benedict Steele

興味深い問題ですが、すぐに同じ課題に直面します。私はDrupalが初めてなので、明確な答えはありません。しかし、私は http://www.janrain.com/ (以前はRPX)これらは、さまざまなログインソリューションと、特に「フェデレーションサイト」向けのソリューションを提供します。 http://www.janrain.com/products/federate Drupalそのためのモジュール http://drupal.org/project/rpx

モジュールのプロジェクトページの詳細:

Janrain Social Loginモジュールは、DrupalサイトをJanrain Social Loginサービスと統合します。

Janrain Social Loginを使用して、Drupalサイトは、人気のソーシャルネットワークで新規および既存のユーザーを認証し、これらのWebサイトからのユーザープロファイルデータをDrupalフィールドにマップして、共有することができます= Drupalソーシャルネットワーク上のユーザーの友達とのコンテンツ。

このモジュールは、Drupal WebサイトをFacebook、Twitter、Google、Yahoo!、LinkedIn、AOL、Paypal、Microsoftアカウントなどの30以上のソーシャルネットワークと迅速かつシームレスに統合するのに役立ちます。

Janrain Engageは、自分でこれらの各サイトと統合する(およびAPIの時間の経過に伴う変更を管理する)代わりに、面倒な作業を行います。このモジュールを使用すると、10分未満でセットアップを行うことができます。その結果、ユーザー登録プロセスが加速し、ユーザーデータを収集する機能が強化され、コンテンツのバイラルプロモーションによるサイトトラフィックが増加します。

0
uwe

古い質問ですが、私は OpenID Provider を使用して、別のDrupalで作成されたアカウントを使用してDrupal 7サイト(依存パーティ)に正常にログインしました7インスタンス(プロバイダー)。

(当然のことながら)プロバイダーでOpenIDプロバイダーを有効にしてから、依存サイトでコアOpenIDモジュールを有効にし、OpenID URLにプロバイダーのURLを指定します。

メールが転送されました。他のフィールドはテストしていません。さらに、依存サイトでパスワードまたはメールを変更できませんでした-プロバイダーアカウントのパスワードが受け入れられませんでした。

0
infojunkie