Help us understand the problem. What is going on with this article?

図解 PAR : OAuth 2.0 Pushed Authorization Requests

この記事では『OAuth 2.0 Pushed Authorization Requests』(通称 PAR)を図を用いて説明します。(英語版はこちら

:one: クライアントアプリケーションと認可サーバーがあります。

par_ja_01_client_and_authz_server.png

:two: クライアントアプリケーションは複雑な認可リクエストを抱えています。

par_ja_02_complex_authz_request.png

:three: もしも認可サーバーが『OAuth 2.0 Pushed Authorization Requests』(通称 PAR)をサポートしているなら、サーバーは『Pushed Authorization Request Endpoint』を公開しています。

par_ja_03_par_endpoint.png

:four: クライアントアプリケーションは、Pushed Authorization Request Endpoint で複雑な認可リクエストを認可サーバーに登録します。

par_ja_04_par_request.png

:five: 応答として、登録された認可リクエストを表す『Request URI』が発行されます。

par_ja_05_par_response.png

:six: クライアントアプリケーションは Web ブラウザを介して認可サーバーの認可エンドポイントに認可リクエストを送信します。クライアントは複雑な認可リクエストを送る必要はありません。かわりに、発行された Request URI を request_uri リクエストパラメーターの値として送るだけで十分です。(『JWT Secured Authorization Request』(通称 JAR)が敢えて破ろうとしている後方互換性を大事に思うなら、client_idresponse_type などの必須リクエストパラメーター群も添えて)

par_ja_06_authz_request.png

:seven: 応答として、認可コード、アクセストークン、ID トークンなどが発行されます。下図では認可コードが発行されています。これは、認可リクエストの response_type リクエストパラメーターが code を含んでいる場合に起こります。トークン群とフロー群の関係については『OpenID Connect 全フロー解説』を参照してください。

par_ja_07_authz_response.png

:eight: クライアントアプリケーションはいつものように認可コードを添えて認可サーバーのトークンエンドポイントにトークンリクエストを送信します。

par_ja_08_token_request.png

:nine: 応答として、アクセストークンおよび条件により ID トークンが発行されます。

par_ja_09_token_response.png

:ten: まとめのフルカラーダイアグラム。

par_ja.png


新しいユースケースや要望に対応するため、新しい仕様群の開発が続いています。そのような仕様群の中には、認可リクエストを大きくするものがあります。例えば、『OAuth 2.0 Rich Authorization Requests』(RAR)は複雑な JSON 構造を持つ authorization_details リクエストパラメーターを追加し、『OpenID Connect for Identity Assurance 1.0』(IDA)(私の記事:『Identity Assurance - eKYC 時代の OpenID Connect)は claims リクエストパラメーター(OIDC Core 1.0, Section 5.5)の値に、これもまた複雑な JSON 構造を持つ verified_claims を挿入しました。

この記事で取り上げた『OAuth 2.0 Pushed Authorization Requests』(PAR)は、クライアントアプリケーションが大きな認可リクエストを Web ブラウザを介して送る必要がなくなるよう開発されました。加えて、PAR により他の利点ももたらされます。より多くの情報については、PAR 仕様自体や、仕様の著者である Torsten Lodderstedt 氏の記事群(例えば『Pushed Authorization Requests Draft adopted by OAuth Working Group』等)を参照してください。


私の会社の製品である Authlete(オースリート)は、バージョン 2.2 以降で PAR、RAR、IDA をサポートしていますスペックシート)。これらの新しい仕様群を試されたい方は、コンタクトフォームやメール(sales@authlete.com)でお問い合わせください。

TakahikoKawasaki
株式会社 Authlete の共同創業者。プログラマー兼代表取締役社長。
https://www.authlete.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした