Tengo un servidor Hashicorp Vault implementado con tls habilitado para poder iniciar sesión con un certificado. Mi certificado está almacenado en el almacén de certificados de mi navegador. Quiero solicitar datos de la bóveda en mi aplicación de reacción de interfaz.
Ahora, para poder solicitar datos de la bóveda con el certificado, tengo que llamar a:
POST "https://{vault_domain}/v1/auth/cert/login"La primera vez que llamo al punto final, se me solicita que seleccione el certificado en el almacén personal de certificados de mi navegador. Y luego obtengo la respuesta con client_token. Luego uso client_token en el encabezado de todas mis llamadas de bóveda para estar autorizado a llamar a los puntos finales de la bóveda. Por ejemplo, obtener la clave pública key_name:
fetch("https://{vault_domain}/v1/transit/keys/key_name", {headers: { "X-Vault-Token": {client_token}}}Me resulta muy molesto tener que llamar al punto final de inicio de sesión para obtener el token y usar el token para realizar las otras llamadas. Lo estoy haciendo bien ? ¿Hay otra forma de hacerlo? ¿Para ser autorizado automáticamente si el certificado está en la tienda?
¿Y también hay alguna manera de verificar automáticamente si hay un certificado válido disponible y usarlo sin preguntarle al usuario?