7

私はSpring OAuthの徹底的な調査を行っており、矛盾する情報がいくつか見つかりました。誰かが明確にしてもらえますか?Spring OAuthで/ oauth/authorizeと/ oauth/tokenがどのようにやり取りされますか?

具体的には、this tutorialは、クライアントアプリケーションに更新トークンを与える前に、/oauth/tokenエンドポイントがユーザー名とパスワードを処理すると記載しています。対照的に、Spring OAuth Developer Guideには/oauth/authorize/oauth/tokenのエンドポイントが記載されていますが、その仕組みについては具体的には言いません。

/oauth/authorizeusername/password/nOtherFactors小切手の100%を行い、その後、クライアントは、その後/oauth/tokenエンドポイントにリフレッシュトークンを送信するよう、クライアントにリフレッシュトークンを送信するために/oauth/tokenエンドポイントを合図していますか?

エンドポイント/oauth/tokenによって処理されるのはすべてですか?

次のフローチャートは、彼のチュートリアルで何ビビアンバンZyl氏の状態を示しています

しかし、この第2のフローチャートでは、より多くの意味を作るようです:

はどれフローチャート正しい?あるいは、真実は他のフローチャートとは若干異なっていますか?異なるグラントタイプについて、/oauth/authorize/oauth/tokenの関係が異なっていますか?どうやって?

答えて

5

OAuth 2.0仕様では、オーソライズトークンとトークンエンドポイントは異なる目的を持っています。

認証エンドポイントは、リソース所有者(ユーザー)がログインし、クライアント(たとえば、ブラウザで実行されているWebアプリケーションまたはモバイルデバイス上で実行されているアプリケーション)に許可を与えます。これは通常、リソース所有者のユーザーエージェント(例:ブラウザ)が認証のためにIDサーバー(承認サーバー)にリダイレクトされるシナリオで使用されます。リソース所有者のユーザーエージェントはアクセストークンに直接アクセスできます。

トークンエンドポイントは、アクセストークンの認証コード、クライアントID、クライアントシークレットを交換するためにクライアント(例:サーバー側APIまたはモバイルアプリ)が呼び出される場所です。このシナリオでは、ユーザーエージェントには認証コードのみが提供され、アクセストークンに直接アクセスすることはできません。クライアントは、認証サーバーからクライアントIDとクライアントシークレットにアクセスできる信頼できる相手です(これが、サーバー側APIをクライアントとして言及した理由です)。

さらに良く説明 link

を持って、この記事をお読みくださいあなたが他の質問がある場合は私に知らせてください。

ありがとう、 Soma。

+0

リンクありの説明をありがとうございました。私が時間があれば、それをもう少し見てください。私は、このOPへの回答が異なる助成金タイプで異なるかどうかを知りたいと思っています。しかし、私はあなたがそれについての論文を書くことを期待していません。 – CodeMed

関連する問題