nim*_*man 3 authentication postgresql node.js
我正在尝试使用 node-express-postgres 实现身份验证服务。
我将池配置如下:
const Pool = require('pg').Pool;
const pool = new Pool({
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
host: process.env.DB_HOST,
port: 5432
});
module.exports = pool;
Run Code Online (Sandbox Code Playgroud)
我正在尝试执行以下调用作为简单的连接测试:
const express = require('express');
const router = express.Router();
const pool = require('../db');
const bcrypt = require('bcryptjs');
router.post('/login', async (req, res) => {
try {
let temp = await pool.query("SELECT * FROM records");
console.log(temp)
} catch (error) {
console.log(error.message);
}
});
Run Code Online (Sandbox Code Playgroud)
当我向此端点发送发布请求时,我的应用程序崩溃并出现以下错误:
Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
我已经检查了所有环境变量,它们是正确的。知道为什么它无法对 postgres 数据库执行任何操作吗?
小智 8
看起来,该节点没有读取 .env 文件。你可以检查它
console.log(process.env.DB_PASSWORD);
Run Code Online (Sandbox Code Playgroud)
例如,可以使用包“dotenv”来修复它。
npm i --save dotenv
Run Code Online (Sandbox Code Playgroud)
然后在index.js的第一行
require('dotenv').config();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16826 次 |
最近记录: |