This service hosts a JWKS endpoint, listing various sample public keys in the format prescribed by IETF RFC 7517. It will also
This service is intended to help you understand basic JWT and JWKS concepts, and test your own code.
The API that backs this page is available publicly.
GET /.well-known/jwks.json - returns the JWKS in application/json
GET /keyids - returns a JSON array of available keyids with no further information
GET /keyids?type=rsa - returns a JSON array of keyids of type=RSA
GET /keys/KEYID - returns a JSON containing the private and public key in PEM-encoded format for the key identified by keyid
GET /keys/KEYID/private - returns a plaintext PEM-encoded version of the private key identified by keyid
GET /keys/KEYID/public - returns a plaintext PEM-encoded version of the public key identified by keyid
POST /token - returns a new JWT, with a contrived payload, signed or encrypted with a randomly selected key and algorithm.
POST /token?keyid=xxx&alg=YYY - returns a new JWT, with a contrived payload, signed or encrypted with the specified key and using the specified signing/encryption algorithm.
POST /token -H content-type:application/json - returns a new JWT, signed with the specified key. The creation parameters for the JWT are specified in the json payload of this request. Example:
{
"keyid" : "b3ff2166",
"alg" : "RS256",
"expiry" : "300s",
"notbefore" : "10s",
"wantjti" : true,
"payloadclaims" : { "nonce" : "8b5df20b01249df6f6", "foo": true },
"headerclaims" : { "whatev" : "abcdef" }
}All of these fields are optional. For any fields you do not specify, the service will select a reasonable or contrived value.