Tengo una solicitud de curl como se muestra a continuación,
curl -u user:password http://localhost:3000/user¿Cómo accedo al usuario y la contraseña pasados en la solicitud http en el servidor?
La opción -u especifica el nombre de usuario y la contraseña para la autenticación básica HTTP .
Se puede acceder a él a través de la Authorization de encabezado de solicitud ( req.headers.authorization ), pero está codificado con base64 .
El siguiente código leerá el encabezado y decodificará la cadena, y luego almacenará el nombre de username y la password en variables separadas.
const b64auth = (req.headers.authorization || '').split(' ')[1] || '' const strauth = Buffer.from(b64auth, 'base64').toString() const splitIndex = strauth.indexOf(':') const login = strauth.substring(0, splitIndex) const password = strauth.substring(splitIndex + 1)Para obtener más información, consulte Autenticación HTTP básica con Node y Express 4