Hay un conjunto de partes, cada una de las cuales tiene una clave pública / privada. Tengo la clave pública de cada uno de ellos.
Estas partes me enviarán los JWT firmados con su clave privada. No sé qué parte envió el JWT, así que necesito verificar el JWT. Si la firma coincide con la clave pública # 1, sé que vino de la fiesta # 1.
Quiero una forma de identificar de manera segura a la parte que envió el JWT.
La forma más fácil pero lenta de hacer esto es verificar cada clave pública hasta que coincida.
La solución que tengo en mente implica hacer coincidir la clave pública con el campo iss
del JWT. Puedo echar un vistazo a la JWT, sin verificar la firma, extraer la reclamación iss
, usarla para decidir qué clave pública usar, y luego usarla para verificar la firma.
No puedo ver ningún agujero de seguridad en este enfoque, pero la necesidad de dos pasadas se siente mal. ¿Hay una manera estándar de hacer esto?