登録したURIをそのまま入力
リダイレクトURIはポート、パス、末尾スラッシュ、既存クエリまで確認します。URI全体を事前にエンコードしないでください。追加パラメーターは生のkey=valueを一行ずつ入力し、値の中の&もそのまま指定できます。
OAuthの実装と検証
公開サンプルで要求と応答の対応を確認してから、自分の値に置き換えてください。
生の値を入力してください。登録したリダイレクトURIはそのまま保持します。
このタブ内で処理します。入力の送信や保存は行いません。
response_type=code・認可コードフロー
verifierはトークン要求用に保持します。URLにはチャレンジだけを入れ、レポートにはverifierを含めません。
追加項目は生のkey=valueを一行ずつ。事前エンコードと予約項目の再指定は不要です。
値を入力するかサンプルを読み込んでください。
リダイレクト先の末尾スラッシュや、state内のプラス記号が原因でログインが失敗することがあります。OAuth認可URLを完成形とデコード済みの表で見比べると、アプリが意図した値と実際のパラメーターの違いを追いやすくなります。
テストで受け取ったコールバックは、解析画面に貼り付けて調べられます。期待するstateは別に入力します。同じ名前を持つ行も残すため、先頭の値だけを採用するクライアントが見落とす問題を確認できます。
OAuth認可URLの作成では入力したverifierからS256チャレンジを導出します。要求に入るのはチャレンジと方式だけです。verifierは入力欄に残り、後のトークン要求用に個別コピーできます。レポートにもverifierを含めません。
クエリとフラグメントの両方にstateがある場合も、出現順と取得元を保って表示します。同じ値が二つあっても曖昧と判定し、たまたま一致する一行によって重複を隠しません。
リダイレクトURIはポート、パス、末尾スラッシュ、既存クエリまで確認します。URI全体を事前にエンコードしないでください。追加パラメーターは生のkey=valueを一行ずつ入力し、値の中の&もそのまま指定できます。
生成ボタンはstateとverifierにそれぞれ32ランダムバイトを使います。scopeにopenidがある場合だけnonceも更新します。変更数と候補を確認して適用し、同じトランザクションのverifierを保持してください。
自動時は編集が止まってから350ミリ秒後に処理します。オフなら実行ボタンとCtrl/Cmd+Enterが使えます。古い結果はコピーも保存もできません。画面を切り替えても入力は残りますが、期待するstateは独立した欄です。
認可URL生成では内側のコールバック全体を一つの値として扱います。既存の端点クエリは厳密にデコードしてから再構築します。追加値の+は%2Bとなり、フォーム形式のクエリでは空白を+で表します。
verifierは43〜128文字の許可文字列を受け付けます。前後の空白除去やBase64の事前デコードはしません。PKCEをオフにすると要求のチャレンジを外しますが、入力したverifierは保持します。
完全なURL、?query、#fragment、クエリ文字列だけの入力に対応します。%252Fは%2Fまで、%2Bは+までの一回のデコードです。空の値、空の名前、重複行をオブジェクトにまとめて失うことはありません。
stateパラメーターがない、空、複数、期待値未指定、一致、不一致を区別します。codeとerrorの混在も確認できます。表は最初の50行から表示し、エクスポートには全パラメーターが入ります。
スキーム、ポート、パス、末尾スラッシュの差が別の受信先を指すことがあるためです。提供者に実際のURIを登録してください。本ツールは入力文字列をパラメーターとして保ちますが、登録内容にはアクセスできません。
stateはコールバックのパラメーターとして戻り、保存したトランザクション値と比較します。nonceはIDトークンに結び付けられ、トークンの検証後に確認します。コールバック欄のnonceを見つけても、その検証の代わりにはなりません。
シークレットはトークン端点でのクライアント認証に使います。PKCEは認可コードを元のverifierに結び付ける追加の役割を持ち、現在の推奨事項は機密クライアントにも利用を勧めています。提供者のS256対応も確認してください。
はい、公開の識別子です。client_secretやcode_verifierとは用途が違います。この二つの名前は認可クエリに追加できず、verifierは専用ボタンでコピーします。
OAuthはリソースへのアクセスを認可します。OpenID Connectはユーザー認証とIDトークンを追加します。要求を準備するときはopenid scopeを含め、提供者の条件に応じてnonceを指定します。返されたIDトークンの検証はアプリの責任です。
計算や入力判定に問題がありましたか?