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