Ir al contenido

Semántica de credenciales de autenticación

Semántica de credenciales de autenticación

Sección titulada «Semántica de credenciales de autenticación»

Este documento define la semántica canónica de elegibilidad y resolución de credenciales utilizada en:

  • resolveAuthProfileOrder
  • resolveApiKeyForProfile
  • models status --probe
  • doctor-auth

El objetivo es mantener el comportamiento de selección y tiempo de ejecución alineados.

  • ok
  • missing_credential
  • invalid_expires
  • expired
  • unresolved_ref

Las credenciales de token (type: "token") admiten token en línea y/o tokenRef.

  1. Un perfil de token no es elegible cuando tanto token como tokenRef están ausentes.
  2. expires es opcional.
  3. Si expires está presente, debe ser un número finito mayor que 0.
  4. Si expires no es válido (NaN, 0, negativo, no finito o tipo incorrecto), el perfil no es elegible con invalid_expires.
  5. Si expires está en el pasado, el perfil no es elegible con expired.
  6. tokenRef no omite la validación de expires.
  1. La semántica del solucionador coincide con la semántica de elegibilidad para expires.
  2. Para los perfiles elegibles, el material del token puede resolverse desde el valor en línea o tokenRef.
  3. Las referencias no resolubles producen unresolved_ref en la salida de models status --probe.
  • La entrada SecretRef es solo para credenciales estáticas.
  • Si una credencial de perfil es type: "oauth", los objetos SecretRef no son compatibles con ese material de credencial de perfil.
  • Si auth.profiles.<id>.mode es "oauth", se rechaza la entrada keyRef/tokenRef respaldada por SecretRef para ese perfil.
  • Las violaciones son fallos críticos en las rutas de resolución de autenticación de inicio/recarga.

Para la compatibilidad con secuencias de comandos, los errores de sondaje mantienen esta primera línea sin cambios:

Auth profile credentials are missing or expired.

Se pueden agregar detalles amigables para humanos y códigos de razón estables en las líneas siguientes.