Primero un poco de contexto: aquí hay un escenario típico de autenticación:
req.headers.cookieAhora que hemos establecido el contexto, esto es lo que quiero hacer: quiero crear una función de API para el servidor, pero en lugar de agregar lógica adicional de generación y administración de claves de API, me gustaría usar la cookie existente.
Básicamente quiero hacer esto:
req.headers.cookie .req.headers.cookie al usuario como respuestaPor ejemplo, aquí hay un controlador de ruta de muestra para la página de clave de API:
app.get("/api_keys", authenticate, (req, res) => { res.render("api_keys", { cookie: req.headers.cookie }) }) Esto mostrará la cadena de cookies en la página /api_keys .
Luego, el usuario puede copiar y pegar la cadena de cookies completa en el siguiente código:
fetch(API_URL, { headers: { cookie: <PASTE_COOKIE_HERE> } }).then((response) => { console.log(response) })y debería funcionar. Y lo hace (lo acabo de comprobar).
Mi pregunta es: ¿Está bien proteger las API de esta manera?