当前位置: 首页 > 知识库问答 >
问题:

NodeJS/Express:从请求中获取用户名和密码

彭兴朝
2023-03-14

我正在使用NodeJS和Express,我想从请求中获取用户名和密码参数。我已经搜索了一段时间,我找不到我的答案。

我想接受来自 cURL 命令的用户参数:

curl --request --POST -u USERNAME:PASSWORD -H "Content-Type:application/json" -d "{\"key":\"value\"}" --url https://api.example.com/my_endpoint

在我的申请中:

app.post('/my_endpoint', async (req, res, next) => {
    const kwargs =. req.body;
    const userName = req['?'];
    const password = req['?'];
});

共有2个答案

苏磊
2023-03-14

如何在 Express 应用程序中使用 JSON POST 数据

我会这样做的

假设您的调用包括如下json内容:

删除 -u 用户名:密码

编辑 -d “{ ”用户名“: ”用户“, ”密码“: ”测试“ }”

curl --request --POST -H "Content-Type:application/json" -d "{ "username": "user", "password": "test" }" --url https://api.example.com/my_endpoint

然后,您可以通过以下方式访问这些变量:

const userName = req.body.username;
const password = req.body.password;

请小心,您需要在Express中使用body Parser中间件才能访问body变量。

魏鸿禧
2023-03-14

您将凭据作为basic-auth标头发送(因为您使用curl的-u选项)。因此,为了从请求中获取凭据,您需要访问此标头并对其进行解码。这是一种方法:

app.post('/my_endpoint', async (req, res, next) => {
   if(req.headers.authorization) {
     const base64Credentials = req.headers.authorization.split(' ')[1];
     const credentials = Buffer.from(base64Credentials, 'base64').toString('utf8');
     const [username, password] = credentials.split(':');
     console.log(username, password);
   }
});
 类似资料:
  • 在这里的Spring WebClient教程之后,我将尝试将请求正文中的用户名和密码(无基本身份验证)传递给APIendpoint,因为它期望这些参数。 我在Postman中进行了测试,在正文中提供用户名和密码作为单独的字段,并将contentType设置为application/x-www-form-urlencoded。这会得到预期的令牌,但是当我使用WebClient实现打印下面的响应时,它

  • 问题内容: 因此,我在这里可能遗漏了一些简单的东西,但似乎无法找到一种方法来获取向其发送响应的请求对象的主机名。 是否可以找出用户当前从node.js访问的主机名? 问题答案: 如果您在谈论HTTP请求,则可以在以下位置找到请求主机: 但这取决于传入的请求。 有关更多信息,请访问http://nodejs.org/docs/v0.4.12/api/http.html#http.ServerRequ

  • 我将jenkins安装到windows 10。当我访问http://localhost:8080/,我必须输入用户名和密码。 但我不会像截图显示的那样显示秘密文件夹: 在包含jenkins.war的路径文件夹中运行时,我得到了这个异常 你能帮我解决那个问题吗?。 如有任何建议,将不胜感激。提前谢谢。

  • 我有以下Java客户端用于发出SOAP请求: 我需要修改它,将用户名和密码作为WS-security标头的一部分。我该怎么做呢? 如果有用,我还附加了我的WSDL文件:

  • 我正在尝试在SoapUI中发出SOAP请求,它需要使用用户名和密码进行身份验证。我让SoapUI基于wsdl文件生成一个测试,并尝试调用该服务。我按照SoapUI网站上的步骤使用身份验证(https://www.soapui.org/soap-and-wsdl/authenticating-soap-requests.html),但我不能让它工作。我不熟悉SOAP,所以我可能缺少一些基本的东西。我

  • 我需要阅读Azure active directory中的用户列表。客户已经创建了一个Graph API应用程序,但他们不想共享应用程序的客户机密,而是要求我们使用密钥库。如何从节点访问。js应用程序检索用户列表的密钥是什么? 我尝试了下面的一个,但给出了错误,我不知道如何验证。