来自Node的Postgres md5身份验证

时间:2016-10-25 20:47:43

标签: node.js postgresql node-postgres

我正在尝试使用md5身份验证方法通过节点连接到postgres。

我的pg_hba_conf文件如下所示:

 "local" is for Unix domain socket connections only 
 local   all           all                                      md5 
 IPv4 local connections:
 host    all             all            127.0.0.1/32            md5
 IPv6 local connections: 
 host    all             all            ::1/128                 md5

我可以通过psql连接到数据库没有任何问题,但我的问题是如何在节点内创建连接字符串以通过md5连接到postgres?如果我更改pg_hba.conf以使用'password'作为身份验证方法,那么我可以使用以下命令连接到数据库:

let connectionString = postgres://user:password@localhost:5432/database';

我原以为我可以在connectionString中输入密码,例如:

let password = crypto.createHash('md5').update(my_password).digest('hex');

let connectionString = 'postgres://user:' + password + '@localhost:5432/database';

但这不起作用: - (

有人能指出我如何使用md5身份验证通过Node访问postgres吗?

干杯

1 个答案:

答案 0 :(得分:1)

使用:

let connectionString = 'postgres://user:' + my_password + '@localhost:5432/database';

Documentation说:

var client = new Client('postgres://brian:mypassword@localhost:5432/dev');

根本没有提到md5。编码和发送正确编码的密码是数据库驱动程序的工作。