0

ユーザーがWebサイトのURLを指定できるアプリケーションを構築しようとしています。私のページは、そのURLに移動して情報を取得します。URLが情報にアクセスするためにユーザー認証を必要とする場合、それを可能にするためにOAuth1.0を使用したいと思います。

問題は、これがOAuthチュートリアルで省略されていることです。私のアプリケーションは、情報を要求しているページにすでに何らかの形で登録されている必要があることがわかります。私の理解では、ユーザーが使用できるようにしたいページについては、自分でそのページに移動して、アプリケーションを登録する必要があります。それが完了すると、ページにハードコードするコンシューマキーとシークレットが提供され、リクエストURL、認証URL、アクセスURLにアクセスするときにそれらを使用します。もちろん、これは私にとっては良くありません。ユーザーが任意のページを指定して情報にアクセスし、それらのページに資格情報を提供して、アプリがそれらのページの情報にアクセスできるようにする必要があるからです。

さらに、私が知ることができることから、私が知る必要がある3つのURLがあります:

  • 新しい不正なリクエストトークンを受信するためにコンシューマキーとシークレットのペアを送信するリクエストURL。
  • リクエストトークンとoauth_callbackのクエリ引数を使用してユーザーに指示する認証URL。ユーザーは私のWebページからリダイレクトされ、外部サイトにログインしてアクセスを許可してから、oauth_callbackで指定されたURLにリダイレクトされ、ユーザーが私のリクエストを承認したかどうかに関する情報が表示されます。
  • 許可されたリクエストトークンを送信するアクセスURL。代わりにアクセストークンを取得することを期待しています。

そして、それらをすべて取得したら、アクセスキーとシークレットのペアをユーザー名とパスワードとして使用できます。私はそれらをユーザーに関連するCookieに保存し、それ以降、Webサイトの情報にアクセスするときはいつでもそれらを使用します。ウェブサイトの取引の終了時に、それは私のリクエストでその情報を探します、そして私がそれを適切に含めるならば、私は私が好きなユーザーのデータにアクセスすることを許可されます。

私がやろうとしていること(Webサイトへの一般的なOAuthアクセスを許可すること)は可能ですか、それともアプリケーション所有者として、OAuthアクセスを取得するためにサーバーにアプリケーションを登録する必要がありますか?可能であれば、そのリクエストURL、認証URL、アクセスURLを取得するにはどうすればよいですか?

4

1 に答える 1

1

それは実際には不可能です。発生する問題の短いリストは次のとおりです。

  1. すべてのWebサイトのアプリケーショントークン(たとえば、アプリケーションがリソース所有者に登録されている)が必要です。それはあなたがその場でできることではありません
  2. 異なるリソース所有者からの一貫性のないOAuthURLスキーム。TwitterのOAuthのURL構造は、Googleとは異なり、Foursquareとは異なります。ハードコーディングせずにURLを把握することは実際には不可能です
  3. スコープ。多くのリソース所有者に対してOAuth登録を行う場合は、スコープを指定する必要があります。スコープがどうあるべきかをどうやって知るのでしょうか
于 2012-08-14T21:42:20.380 に答える