以下は、サンプルのテナントで使用される JSON Web Key Set (JWKS) の例です。単一の JSON Web Key (JWK) が含まれています。
{
"keys" : [
{
"alg" : "RS256" ,
"kty" : "RSA" ,
"use" : "sig" ,
"x5c" : [
"MIIC+DCCAeCgAwIBAgIJBIGjYW6hFpn2MA0GCSqGSIb3DQEBBQUAMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTAeFw0xNjExMjIyMjIyMDVaFw0zMDA4MDEyMjIyMDVaMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjZc5bm/eGIHq09N9HKHahM7Y31P0ul+A2wwP4lSpIwFrWHzxw88/7Dwk9QMc+orGXX95R6av4GF+Es/nG3uK45ooMVMa/hYCh0Mtx3gnSuoTavQEkLzCvSwTqVwzZ+5noukWVqJuMKNwjL77GNcPLY7Xy2/skMCT5bR8UoWaufooQvYq6SyPcRAU4BtdquZRiBT4U5f+4pwNTxSvey7ki50yc1tG49Per/0zA4O6Tlpv8x7Red6m1bCNHt7+Z5nSl3RX/QYyAEUX1a28VcYmR41Osy+o2OUCXYdUAphDaHo4/8rbKTJhlu8jEcc1KoMXAKjgaVZtG/v5ltx6AXY0CAwEAAaMvMC0wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUQxFG602h1cG+pnyvJoy9pGJJoCswDQYJKoZIhvcNAQEFBQADggEBAGvtCbzGNBUJPLICth3mLsX0Z4z8T8iu4tyoiuAshP/Ry/ZBnFnXmhD8vwgMZ2lTgUWwlrvlgN+fAtYKnwFO2G3BOCFw96Nm8So9sjTda9CCZ3dhoH57F/hVMBB0K6xhklAc0b5ZxUpCIN92v/w+xZoz1XQBHe8ZbRHaP1HpRM4M7DJk2G5cgUCyu3UBvYS41sHvzrxQ3z7vIePRA4WF4bEkfX12gvny0RsPkrbVMXX1Rj9t6V7QXrbPYBAO+43JvDGYawxYVvLhz+BJ45x50GFQmHszfY3BR9TPK8xmMmQwtIvLu1PMttNCs7niCYkSiUv2sc2mlq1i3IashGkkgmo="
],
"n" : "yeNlzlub94YgerT030codqEztjfU_S6X4DbDA_iVKkjAWtYfPHDzz_sPCT1Axz6isZdf3lHpq_gYX4Sz-cbe4rjmigxUxr-FgKHQy3HeCdK6hNq9ASQvMK9LBOpXDNn7mei6RZWom4wo3CMvvsY1w8tjtfLb-yQwJPltHxShZq5-ihC9irpLI9xEBTgG12q5lGIFPhTl_7inA1PFK97LuSLnTJzW0bj096v_TMDg7pOWm_zHtF53qbVsI0e3v5nmdKXdFf9BjIARRfVrbxVxiZHjU6zL6jY5QJdh1QCmENoejj_ytspMmGW7yMRxzUqgxcAqOBpVm0b-_mW3HoBdjQ" ,
"e" : "AQAB" ,
"kid" : "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg" ,
"x5t" : "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg"
}
]}
キー内の各プロパティは、JWK 仕様の RFC 7517 Section 4 、また、アルゴリズム固有のプロパティについては RFC 7518 で定義されています。
Property name Description algキーで使用される具体的な暗号アルゴリズムです。これは省略可能なパラメーターです。デフォルトでは、Auth0 はテナント レベルで定義された署名アルゴリズムを JSON Web Key Set (JWKS) に含めて公開します。キーを単一のアルゴリズム (たとえば RS256) だけでなく複数のアルゴリズムで使用できるようにするには、Dashboard の Tenant Settings の Advanced にある Include Signing Algorithms in JSON Web Key Set をオフにします。これにより alg パラメーターが削除され、JWKS の利用側で必要に応じて署名アルゴリズムを解釈する必要があります。 ktyキーで使用される暗号アルゴリズムのファミリーです。 useキーの想定用途です。sig は署名を表します。 x5cx.509 証明書チェーンです。配列の最初のエントリはトークン検証に使用する証明書で、それ以外の証明書はこの最初の証明書を検証するために使用できます。 nRSA 公開鍵 の法です。eRSA 公開鍵 の指数です。kidキーの一意の識別子です。 x5tx.509 証明書のサムプリント (SHA-1 サムプリント) です。
Auth0 でサポートされているのは HMAC と RSA のみで、現在のところ楕円曲線暗号 (ECDSA) はサポートされていません。
JWKS を使用して JWT の署名を検証する例については、Navigating RS256 and JWKS (Node.js を使用) を参照するか、Backend/API クイックスタート を確認してください。