Keys
Het keys-endpoint bevat de verschillende beschikbare keys en de te gebruiken algoritmes
Hieronder een voorbeeld van één van de keys met de bijhorende parameters: iedere key heeft een unieke ID “kid” en in het ID-token wordt hiernaar verwezen om aan te geven met welke key het ID-token gesigned werd.
{
"keys": [
{
"alg": "RS256",
"e": "AQAB",
"kid": "lEFnQt-jonEX5JxR6T-z8eGzvJahW0ifmI5JXs8YoJs",
"kty": "RSA",
"n": "26BR4cUDdWmQ014XI356O5xEjmvli2AKs0A7710ij1D_TW4CKCGrG0_FLJ4EABQYfY2UQGObdTXq4_U8YFr_qW6a9Tj8Jp7iM-5sP4vkMKgeVf_Wr_3Sw_3Gp_fQjzlUyAfo5TLvQrKqqYU-LIwWZtPpdMiMEaCAruu29r_hKdiULBO_MgQF7cICiYUp4ERAqh4I0VrNkB8W6_0Z3JGpNp6TTQGtZ-TtMF3BLKE33G4ygduzHjooJ3ogasS2qmbKgMVUzcWNAsONwNc_lA0OJJeLCLY5RbR7ffUZtGDMTDBQFdK1C8mlxzIscfsNwC8w-1pB3fibmcNf2SEl9ssp7w",
"use": "sig"
},
...
]
}
De keys roteren automatisch: het is dan ook geen goed idee om deze keys éénmalig op te slaan.
Om te verhinderen dat bij iedere validatie van een signature het keys-endpoint opgevraagd zou worden, dient het keys-endpoint best gecached te worden. Bij het cachen dient de cache-control max-age echter zeker gerespecteerd te worden: deze geeft aan hoeveel seconden deze pagina maximaal gecached mag worden:
cache-control: public, max-age=21500, must-revalidate