1

OAuth 2.0 を使用して Web アプリから Google API にアクセスする方法を理解しようとしています。問題は、プロトコルが開発者にredirect_uri (アクセス トークンを受け取るページの URL) を登録することを要求することです。しかし、私のアプリケーションは多くの顧客に配布でき、無数のサーバーでホストできます。redirect_uriを事前に知る方法はありません。

Google は、インストール済みアプリケーション用に別のオプションを提供していますが、私はこのバリアントも使用できません。認証サーバーはウィンドウ タイトルでアクセス コードを返しますが、この情報はページの JavaScript からはアクセスできません (コンテンツが別のサーバーからのものである場合、JS は window.open(); を使用して開かれたウィンドウのコンテンツにアクセスできません)。

結論として:

  1. アプリが将来どこで実行されるかすべての URL がわからないため、Web アプリケーションにメソッドを使用できません。
  2. JavaScript コードからウィンドウ タイトルにアクセスできないため、インストール済みのアプリケーションにメソッドを使用できません。

多くのサーバーで実行されている配布可能な Web アプリケーションから Google の OAuth 2.0 を使用する方法について、推奨事項はありますか? ありがとうございました。

4

1 に答える 1

1

ウィンドウのタイトルにアクセスできませんか? アプリがウィンドウを開いている場合は、それにアクセスできるはずです。モバイルアプリで行うのと同様の方法でこれを行うことができるはずです。

すべての試行が失敗した場合は、(既知のリダイレクト URI を持つ) プロキシ サーバーをセットアップして、すべてのクライアントに Google トークンを配布することができます。または、アプリごとに独自のプロキシ サーバー (アプリがダウンロードされたサーバー) を持つこともできます。ただし、各 OAuth クライアントが 1 つのリダイレクト URI しか持てない場合、各アプリは個別の OAuth クライアントでなければなりません。

于 2012-06-16T21:53:59.890 に答える