複数のドメインをサポートする Web アプリケーションを作成しています。たとえば、私のアプリが という名前だった場合、多数www.webapp.com
の顧客が DNS CNAME マッピングを介して自分のドメインを私のサイトにマッピングしています。webapp.yourdomain.com CNAME www.webapp.com
foo.anotherdomain.com CNAME www.webapp.com
ユーザーが Google または Facebook (OAuth 2.0) を介して自分のアプリに対して認証するようにしたい - 私 (またはドメイン所有者) がマップされたドメインごとに個別の Google/Facebook アプリを作成する必要はありません。理想的には、ベース ドメインがブローカーとして機能し、コールバック URL に応答するときに適切なマップされたドメインにリダイレクトするようにします。たとえば、訪問したユーザーwebapp.yourdomain.com/accounts/facebook/login
は、 へのコールバック URL を使用して Facebook に対して認証を行いますwww.webapp.com/accounts/facebook/login/callback
。リクエストを処理するときに、適切なコンテキストを見つけてwebapp.yourdomain.com/accounts/facebook/login/callback
、実際の認証が行われる場所 (およびドメイン固有の認証 Cookie が設定される場所) にリダイレクトすることができました。
それで、これはdjango-allauthで実行できますか? どのくらいのハッキングが必要ですか? または、これを実装するのがより簡単な Django 用の別のソーシャル認証ソリューションはありますか?