JSON Web Key Set (JWKS)
Available Since Version 1.4.0
Request#
Returns public keys generated by FusionAuth, used to cryptographically verify JWTs using the JSON Web Key format. You may also use the JWT Public Key API to retrieve these keys in PEM format.
OpenAPI Spec
You must add an asymmetric key to FusionAuth to have keys at this endpoint. Since version 1.50.0, default FusionAuth installations have a single RSA public/private key pair.
HMAC shared secret keys are not published by this endpoint. If they were, anyone would be able to retrieve these keys and then sign tokens with them. Those tokens would be indistinguishable from those created by FusionAuth. That would be bad.
You may add key pairs using the admin UI by navigating to Settings -> Key Master and generating or importing them. You may also use the Keys API to generate or import keys.
Response#
The response for this request should always return a 200 with a JSON body.
Example JSON Response
{
"keys": [
{
"alg": "ES384",
"crv": "P-384",
"kty": "EC",
"use": "sig",
"x": "cuu2_ua9Ma2KzV1oFO0barRxU4AlZUp0s3LVVC4REV_cZDHe7wnEE1oLCPteHMmZ",
"y": "nm2tuXEaSKNwwZWsIdu-8Ne7k7ljdhERnzcz3YzeBM5DijBvkZGpA3jlfmq5S4rS"
},
{
"alg": "RS256",
"e": "AQAB",
"kid": "0a136009-80ca-4ba3-888b-2d8efb63ff56",
"kty": "RSA",
"n": "k1S0Jj5aiQqQJcdfAcLyEdeDcIT4dD7rrYd1wU9QOwO6tlm-6GELGh5EdabubIBW_6C02ZZ8ALxgSbfrf8sDnQNmff0ncPOZ09IceCQCNiDI8TVH8nG0mD3zM_Z_wsC4tQ1Kty_vvOmFso1UM_-S473i6bV5bGSCaq_iwjX9ot-eO_3GWtdmRtPn9hY7r_b4pcU7aHH6w_3KtAx0zc-LFM08AJd2Nl8VDdNwIfifsuNpyVaEuTwFASqlTgyOfcO32QPAg85pM3boH3hOQ_U4H4daCo7u8G2BJvRLSYlhs-O4x7LjdYQAguBfwCq3fE2OcuhzW048vQZuU2vDqMSefQ",
"use": "sig"
},
{
"alg": "ES256",
"crv": "P-256",
"kid": "474f5556-9589-4970-ab13-83cd5b231850",
"kty": "EC",
"use": "sig",
"x": "XdUStYpfCtaxlya9xeRWezzRfmT9fhi5__xcnitdDcI",
"y": "VS4o2yOPhss0-JHJR4pEukoRe0H-SuFo603AFP77VMk"
},
{
"alg": "RS384",
"e": "AQAB",
"kid": "3c219e58-ed0e-4b18-ad48-f4f92793ae32",
"kty": "RSA",
"n": "nc1NzlB9OsT8CmnT9OPRQwdJlH5cyec2mCH5tL6q0MHQlokp5ERkKPAEoQOrLeXRXeRVhnuzp1TAOUsAhHKqor-JiJqTn2jeHeEmLvGonn4ik31FKP3OJ9qxsF_L3WBVmEnHMb8FoKi-1rImIzeny0R90E9MK5Mp8yvqHWSJIiOwRXzWEhXsmCHI86PA_0TyH7XsKFJjZat9wXOcueHr7C4ZS3lffaXiyYMo9fOs1vsxG8TCqdVCYVlxuZv0GrdToY3HRmif4CQ9AKXP4HU9d6p7XTRymvqlUp3iwCSCYbOlvQr-rwEe4RBf8ydPKPNUWXvpHRh1mo_hdhNusuXSJysSB02Q1stUp7Hy-aFd_3EYPI_uctluXnmlypG7HT3S-b_ZR1ha0Hwxr6ixA3hForq_HwTkX-ZIEqtufOhxU76M8p843RIRLcUZFYK_0bpOFaesph91X58DI-dPaWjlRMlvl3j-SoMtjczcjRF4TbLiCiw80JjbDfTf2MbBVBQD",
"use": "sig"
}
]
}