9

OAuthを使用すると、ClientIDとredirect_urlは強力に接続されます。redirect_urlごとに個別のClientIDが必要です。これは、複数のドメインに複数のデプロイメントがあるオンプレミスアプリケーションの問題です。

不明なドメインからOAuth認証を実装する方法はありますか?私が思いつくことができる唯一の代替手段は、redirect_urlとして使用でき、その後、顧客ドメインへの新しい無制限のリダイレクトを実行できる、固定ドメインの専用の「認証サーバー」を必要とします。

デスクトップアプリケーションは、ダミーのredirect_urlを提供し、専用のWebフレームでライブ認証ウィンドウをホストして、リダイレクト要求をリッスンできるようにすることで、これを回避します。これにより、URL自体が有効でない場合でも、リダイレクトURLから認証コードを読み取ることができます。クロスドメインの制限により、これはWebブラウザでは不可能だと思います。

基本的に、オンプレミスWebアプリケーションでSkyDriveパブリッシングをサポートするにはOAuthが必要です。

4

1 に答える 1

1

RFC 6749 (OAuth 2.0) では、承認サーバーは、暗黙の許可を使用しない限り、公開クライアントに対しては redirect_uri を事前登録する必要がありますが、機密クライアントに対しては事前登録する必要はないと規定されています。インストール時にクライアント資格情報を提供するか、システム管理者が独自のクライアント資格情報を入力するかによって、システムはさまざまなカテゴリに分類されます。ただし、事前登録された redirect_uri を常に要求することが RFC によって推奨されているため、どちらの分類でも同じ問題が発生する可能性が高くなります。

実行可能な唯一の解決策は、システムのシステム管理者がシステムを構成するときに独自のクライアント資格情報を提供することを要求することです。独自のクライアント資格情報を提供する場合、独自の redirect_uri を認可サーバーに登録する必要もあり、それによって問題は解決されます。

アプリケーションのセキュリティが開かれるため、中間認証サーバーを実装しないでください。ユーザーがシステムの 1 つのインストールを承認すると、すべてのインストールが自動的に承認され、承認した組織以外の組織が個人データを利用できるようになります。

于 2016-01-05T22:11:15.067 に答える