7

マルチテナント アプリケーションを構築していますが、Facebook ログインを Web アプリケーションに組み込むのに苦労しています。

テナントは、たとえばサブドメインを使用しています

http://tenant-1.domain.com/
http://tenant-2.domain.com/
http://tenant-3.domain.com/

アプリケーションを作成しましたが、Web サイトを追加する場合、すべてのテナントで使用できるようにするにはどうすればよいですか? 何かのようなもの:

ここに画像の説明を入力

しかし、もちろん、それは機能しません。追加しただけでは、クリックするとすぐにhttp://domain.com/機能しません。http://tenant-1.domain.com/<fb:button-login>

ここに画像の説明を入力

テナントごとに特定の FB アプリを作成せずに、これを行うにはどうすればよいですか?

私はこれを使用して、ユーザーが自分のアカウントを購読できるようにしています。ログインでname と emailを取得したいだけでなく、name と email ボックスに入力する必要があります...

4

1 に答える 1

4

これは不可能ですが、回避策のオプションがあります。おそらく最善の方法は、単一のドメインを使用して認証を実行し、redirect_uri として指定することだと思います。この redirect_uri に、いくつかのクエリ パラメータを追加できます。たとえば、redirect_uri は次のようになります。

http://auth.domain.com/auth.php?tenant=tenant-1

次に、auth.php のコードで、クエリ文字列からこのテナント パラメーターを取得し、ユーザーを認証し、アクセス トークンを保存してから、すぐにそれらをリダイレクトします。tenant-1.domain.com

このソリューションがあなたの好みになるかどうかはわかりませんが、現在、認証用のサブドメインを指定することはできないため、これまたは同様の回避策が必要です。

于 2011-09-09T13:34:35.570 に答える