0

iPhoneアプリを提供するJavaRESTサーバーに取り組んでいます。次に、oauth2プロトコルによって公開されているサードパーティのサービスと統合する必要があります。これは私にとって初めてのことなので、「概念実証」コードを読んだり書いたりしてきましたが、大きな問題があるか、基本的に何かを理解していません...

ユーザーがWebビューに表示する[XXXでログイン]ボタンを使用して、単純なWebページを作成しました。クリックすると、サードパーティサービスのログインページが開き、私のアプリを承認できます。承認すると、ユーザーは、認証コードをパラメーターとして指定したURLにリダイレクトされます。このURLは、サーバー上のRESTサービスを指しています。

問題は、このURLが、アプリをサービスに適用するときに設定したURLと完全に同じでなければならないことです。私はRESTサーバーを実行しているので、サーバーへのリダイレクトが発生したときにどのユーザーについて話しているのかを知る方法がありません(セッションはありません)。クエリまたはパスパラメータを使用してこの識別を実行したかったのですが、許可されていません。

これのいずれかがあなたにとって意味がありますか、それとも私はこれを間違った方法で実装していますか?私が今想像できる唯一の可能な解決策はクッキーの助けを借りることですが、私はそれが本当に好きではありません...

4

1 に答える 1

1

はい、それは理にかなっています。いくつかの異なるオプションがあります。次のいずれかを試してください。

  • ユーザーIDを使用してCookieを保存し、リダイレクト後に読み取ります
  • 一部のユーザーIDを送信するには、許可要求のstateパラメーターを使用します。プロバイダーは、リダイレクトでそれをあなたに返す必要があります。
于 2012-08-13T09:45:41.367 に答える