プロバイダーのメタデータ

OIDC Discovery宣言と変更点を確認

ディスカバリドキュメントを貼り付けてください。比較を有効にすると、もう1つの設定を調べられます。

OIDC Discovery

ディスカバリJSON A

処理はこのタブ内で完結します。入力の送信・保存や外部データの取得は行いません。

項目別レポート

文書を貼り付けるか、サンプルを読み込んでください。

オプション

両方の文書と入力どおりに比較します。空欄なら期待値との照合を省略します。

文書を貼り付けるか、サンプルを読み込んでください。

確認対象はメタデータのみです。サーバーの身元、到達性、トークンの署名は検証しません。

localhostでの検証やリバースプロキシの切り替え後に認証が動かないときは、クライアントの想定と公開された設定を照らし合わせる必要があります。OIDC Discoveryは各項目の値と診断を並べ、発行者URLの違いと必須項目の欠落を切り分けます。

OIDCメタデータはプロバイダーが公開する機能の宣言です。取得できたJSONが読めても、すべてのエンドポイントや鍵が利用できるとは限りません。まず静的な設定の問題を確認し、その後に実際の通信や認証処理を調べるためのページです。

OIDC Discoveryで設定を読み解く

どの宣言を確認したかが分かる

OIDC Discoveryは発行者、エンドポイント、アルゴリズム、対応機能を分類します。必須項目は欠けていてもレポートに残り、検査範囲外の拡張は未検査と表示します。項目の行番号から入力に戻れるので、元の文書を探し直す必要がありません。

設定文書から発行者、エンドポイント、アルゴリズム、鍵の場所に分かれるレポート

更新前後を同じ条件で確認

旧設定をA、新設定をBに貼り付けると、それぞれの診断と変更点を確認できます。トークンエンドポイントの変更や署名リストからの削除をJSON Pointerのパスで示します。何が変わったかを調べるために、文書を手作業で並べ替える必要はありません。

2つの文書の対応する行に追加、削除、変更を示す図

期待値と差分の読み方

01

期待値は別の設定から持ってくる

期待するissuerは両方の文書に適用されます。末尾のスラッシュやポートの表記も比較対象です。別環境の発行者を意図的に比べる場合は空欄にし、差分を確認してください。

02

自動解析を必要に応じて止める

入力が350ミリ秒止まると解析します。自動解析を切るとボタンとCtrl/Cmd + Enterで実行できます。入力やオプションを変えた直後は古い結果のコピーと保存が無効になります。

03

文書別の診断と差分を使い分ける

文書Aと文書Bでは項目ごとの問題を、差分ではAからBへの変更を表示します。表示は50件ずつ増やせます。書き出すレポートには、画面に未表示の項目も含まれます。

確認できる宣言と比較の精度

必須項目と条件付きの項目

issuer、認可エンドポイント、jwks_uri、応答形式、subjectの種類、ID Token署名方式を調べます。token_endpointを省略できるのは、応答形式と明示されたgrantの両方から暗黙フローのみと判断できる場合です。

発行者は文字列として厳密に照合

HTTPS、ホスト、認証情報やフラグメントの有無を確認します。issuerのクエリもエラーです。期待値との比較前にURLを正規化しないため、大小文字や末尾スラッシュの違いが隠れません。別ホストのエンドポイントは許容します。

署名方式と対応機能を分けて表示

RS256がID Token署名リストに含まれるか確認し、noneには注意を出します。クライアント認証署名のnoneはエラーです。scope、grant、真偽値の宣言も確認しますが、アルゴリズムが実装されているかは試しません。

数値を丸めずに比較

大きな整数や長い小数を通常の浮動小数点数に変換しません。オブジェクトのキー順は無視し、配列は位置で比較します。ネストした拡張の値も正確なパスで示すため、細かな設定変更を取りこぼしにくくなります。

結果を判断するときの制限

通信や認証は実行しない
設定の取得、TLS証明書の検証、CORSの確認、認可コードの交換は行いません。貼り付けた文書だけでは、実行環境からサーバーへ接続できるか分かりません。
鍵のURLを検査しても署名は未検証
JWKSの場所は表示とコピーのみです。鍵セットのダウンロードやJWTの署名検証は別作業になります。レポートの通過表示を認証成功と読み替えないでください。
全拡張への適合判定ではない
既知項目の型と記載した条件を検査します。説明・ポリシーのURL項目は非空文字列のみの確認で、他の拡張は未検査です。openidがscopeに載っていなくても、非対応とは断定しません。
厳密なJSONと処理上限
1文書100,000文字、最上位500項目、深さ100、50,000ノードまでです。重複キー、コメント、末尾カンマは拒否します。差分は5,000件、期待値は4,096文字が上限です。空の標準配列は項目ごと省略してください。
設定は自動で修正しない
100と1e2は等しい数値として扱いますが、配列の順序変更は差分です。欠落とnullも区別します。比較は動作の等価性を保証せず、入力への既定値追加やマージも行いません。既存入力の置換は確認後に適用し、取り消せます。

OIDC Discoveryのよくある疑問

localhostでディスカバリが失敗するのはなぜですか?

ローカル環境ではHTTPとHTTPSの違い、公開issuerと内部ホストの違い、プロキシの設定などを確認してください。このページはHTTPSの宣言を検査しますが、サーバーへ接続しません。通信側の失敗原因は実際のレスポンスやログで切り分けます。

ディスカバリドキュメントはどこにありますか?

通常はissuerのパスに/.well-known/openid-configurationを付けた場所です。提供元の案内で正確なURLを確認してください。このツールには取得したJSONを貼り付けます。URLだけを入力して取得する機能はありません。

issuerが期待値と一致しないのはなぜですか?

スキーム、テナントのパス、末尾スラッシュなどが異なると別の文字列です。クライアントの設定とプロバイダーの宣言を確認してください。見かけをそろえるだけのURL正規化は、設定の不整合を隠すおそれがあります。

JWKSの場所は必ず/.well-known/jwks.jsonですか?

固定ではありません。発見文書のjwks_uriを参照します。別パスや別ホストの場合もあります。ここで取得できるのは宣言されたアドレスの文字列で、実際の鍵の内容は検査していません。

KeycloakのOIDCログインにはどの鍵ファイルが必要ですか?

Keycloakのメタデータはjwks_uriで公開鍵セットの場所を示します。利用するクライアントライブラリの設定に従って、その公開鍵を署名検証に使います。このページは鍵ファイルを生成せず、ログインも実行しません。

計算や入力判定に問題がありましたか?

宣言の問題を整理する

OIDC Discoveryで確認した内容を、対象の設定バージョンとともに残しましょう。メタデータの問題と通信テストが必要な問題を区別すると、次の確認箇所を決めやすくなります。