2017-04-07 15 views
4

これはワイルドカードドメインに関するものではありません。それは、Facebook Login上のValid OAuthリダイレクトURIに完全に異なるドメインを追加する必要性についてです。有効なOAuthリダイレクトURIのないFacebookログイン

は、私たちは、Webアプリケーションを持っている場所です。clientesセットアップでき、独自のカスタムドメイン(example.com、xyz.net、など)。どのドメインが使用されるかはわかりません。

Facebookでは、Facebookのログインを処理する1つのアプリがあります。 FBログインを使用するすべてのドメインを特にホワイトリストに登録する必要があるようです。

ドメインを手動で追加することはできません。どのような選択肢がありますか?

ありがとうございました。

+0

_ "ドメインを手動で追加することはできません。どのような選択肢がありますか? " - これを受け入れる選択肢はありません。 – CBroe

+1

なぜそれが最初から良いアイデアではない、私はここに概説:http://stackoverflow.com/a/34952548/1427878 – CBroe

答えて

1

私は考えることができる最も簡単な解決策は非常にずさんなリダイレクトURIの検証と中間アイデンティティサービスを使用することです。このアプローチのgood discussionと、IdentityServer4に関連するセキュリティ上の懸念があります。

私は、これはOAuthのフローの中で最も悪用の脆弱性の一つであるとして、前アイデンティティサービスのURIの検証をリダイレクトするだけの非常に制限的例のカスタム使用しています。必要な柔軟性はセキュリティをかなり弱めるでしょう。あなたはアイデンティティサーバー上でFacebookの認証を設定し、Facebookでの識別サーバのアドレスを登録しますIdentityServer4でそれを実装するために

。その後、新しいドメインを表すクライアントを作成します。これはすべてのための単一のクライアント(物事をさらに不安定にする)か、クライアントがアイデンティティサーバー(例えばdynamic client registration)に登録する方法を追加することができます。クライアントは、彼らはその後、Facebookで通信するアイデンティティサーバーに接続するためのオープン同上Connectを使用しますFacebookのに接続したい

。 IdentityServer4では、クライアントはUseOpenIdConnectAuthenticationsee here for an example)のミドルウェアを追加します。

長いアイデアは、中間アイデンティティサービスを使用して問題を解決できるかどうかです。アイデンティティサービスはFacebookに登録する必要のある唯一のURLになり、あなたのクライアントはあなたが管理するアイデンティティサービスに登録します。

偉大な力は大きな責任を伴います。最小限の努力を払うことで、セキュリティを大幅に低下させるソリューションにつながります。 dynamic client registration protocolなどのアイデンティティサービスを使用してセキュリティで保護された動的登録を実施すると、クライアントごとに1つの厳密なリダイレクトuriを使用し、合理的に取得できる程度に安全なシステムを構築できます。

関連する問題