0

私はグーグルのウェブアプリケーションにOauthを暗示しようとしています。私はPOCに取り組んでおり、それは正常に機能していますが、混乱があり、それをどのように達成できるかわかりません。

OauthにscribejavaAPIを使用しています。

これが私が実行しているステップです。

  1. Googleからリクエストトークンを取得しています。
  2. ユーザーをGoogleにリダイレクトして、ユーザー自身を認証し、私のサービスが彼/彼女のいくつかの詳細にアクセスすることを許可します。
  3. グーグルによって与えられたリクエストトークンと確認コードを提供することにより、グーグルからアクセストークンを取得します。
  4. グーグルがアクセストークンを提供したら、ユーザー情報にアクセスします。

今、私の主な混乱はステップ3にあります。これは、Webアプリケーションに取り組んでいるため、2ステップのプロセスになるためです。

  1. ユーザーをGoogleにリダイレクトする
  2. Googleリダイレクトを処理します。

アクセストークンを取得するには、ステップ1で取得したものと同じリクエストトークンを提供する必要があります。そうしないと、ユーザーによってリクエストが拒否されます。リクエストトークンには2つのものが含まれています

  1. Toekn->これは登録されたアプリケーションに基づいているので問題ではありません
  2. シークレット->これは常にランダムな文字列であるため、アクセストークンを要求するときも同じである必要があります

つまり、ユーザーがアプリケーションにリダイレクトされたときにこのシークレットにアクセスできるように、このシークレットをセッションまたはどこかに保存する必要があります。

私の混乱は、セッションでそれを保存するために、一意のキーを作成し、Googleリダイレクトを処理する他のアクションクラスでそれにアクセスする方法を作成する必要があるためです。 Googleを使用してログインするように依頼します。

この点での助けは大いに活用されるでしょう。

前もって感謝します

4

1 に答える 1

1

request token+を受け取ったら、トークン情報を保存するためのセッションの一意のキーとしてをtoken secret使用します。承認プロセスの後、コールバックURLで、 (コールバックURLに渡されるパラメーターの1つ)にrequest tokenアクセスできます。request tokenこのパラメーターをセッションキーとして使用すると、を含むセッションからトークン情報を復元し、それを使用してfortoken secretを変更する要求に署名できます。を受け取った後、新しいものが返され、古いものをセッションから削除できます。request tokenaccess tokenaccess tokentoken secret

ある時点で非常に多くのユーザーがグーグルを使用してログインを要求できるので、どうすればこれを達成できますか

サイトのユーザーごとに異なるが与えられるため、これは問題ではありませんrequest token

于 2011-11-24T18:24:54.933 に答える