如何使用node.js中的基本身份验证从URL获取用户名和密码?

Ste*_*han 10 javascript node.js

我需要从网址获取浏览器发送到我的node.js应用程序的用户名和密码.

我挖掘了各种文档和对象,但我找不到任何有用的东西.有谁知道怎么做?使用身份验证标头不是一个选项,因为现代的bowsers不会设置它们.

https://username:password@myurl.com/
        =================
//         /\
//         ||
// I need this part
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

Sey*_*ani 5

这种身份验证方法称为“基本身份验证”。您可以basic-auth使用以下代码通过npm 包访问用户名和密码:

const express = require('express');
const basicAuth = require('basic-auth');
let app = express();
app.get('/', function (req, res) {
    let user = basicAuth(req);
    console.log(user.name); //prints username
    console.log(user.pass); //prints password
});
app.listen(3000, function () {});
Run Code Online (Sandbox Code Playgroud)

现在,如果您向http://username:password@localhost:3000/此代码发送请求,将在控制台中打印您的用户名和密码。

请注意,大多数浏览器不再支持这种身份验证方法。