1

私たちはWebアプリケーションを備えたISVです。StackExchangeやTrelloとは異なり、このWebアプリは顧客のサイトにインストールされるため、各Webアプリのインストールには個別のURLがあります。つまり、http://app.example.com/http://app.microsoft.com/はどちらもアプリの有効なURLである可能性があります。

OAuthを使用してユーザーのGoogleデータにアクセスしたいと考えています(アプリデータベースを準備するための単純な初回使用のインポート)。私たちの問題は、これを機能させる方法を見つけようとすることです。

Webアプリ(クライアント側)のOAuthは、機関(この場合はGoogle)に登録されているリダイレクトURLに依存します。TrelloまたはStackExchangeの場合、URLは1つで、それを入力するだけです。多くの場所にインストールされているため、多くのURLを使用でき、それらが何であるかがわからないため、GoogleにどのURLを送信するかを指定できません。事前に使用してください。

クライアントアプリ(Windowsクライアントなど)のOAuthは、リダイレクトする代わりに、ウィンドウタイトルで応答を返すことでこれを回避します。これは、ブラウザを完全に制御できるアプリ、つまりサンドボックスを制御するアプリには最適ですが、通常のブラウザでは、サイト間のセキュリティ制限により、Googleの応答ウィンドウからシークレットを取得することはできません。

OAuthの世界では2つのスツールの間にあるように見えます。Webアプリではなく、クライアントアプリでもありません。

複数の場所にインストールされている複数のWebアプリでOAuthを使用するにはどうすればよいですか?

4

1 に答える 1

0

申し訳ありませんが、登録プロセスには理由があります。複数の会社が所有する複数のURLにある場合、それらは個別のアプリケーションと見なされ、異なるクライアントID /クライアントシークレットを使用し、適切な所有者によって登録される必要があります。アプリを登録する方法について顧客に指示を与えるか、サービスチームがアプリをインストールしている場合は、デプロイプロセスの一部としてアプリをインストールする必要があります。

マルチテナントアプリケーションを構築することには多くの利点があり、これを行う必要がないことはそのうちの1つにすぎません。

于 2012-09-09T00:44:23.230 に答える