Try to fix the rotation for psql

This commit is contained in:
Fang-Pen Lin
2025-10-23 17:08:13 -07:00
parent c0d6204e13
commit 172eeebeff

View File

@@ -115,7 +115,13 @@ const makeSqlConnection = (
},
rotateCredentials: async (currentCredentials) => {
const newPassword = alphaNumericNanoId(32);
await client.raw(`ALTER USER ?? WITH PASSWORD ?`, [currentCredentials.username, newPassword]);
// Note: The generated random password is not really going to make SQL Injection possible.
// The reason we are not using parameters binding is that the "ALTER USER" syntax is DDL,
// parameters binding is not supported. But just in case if the this code got copied
// around and repurposed, let's just do some naive escaping regardless
await client.raw(`ALTER USER :username: WITH PASSWORD '${newPassword.replace(/'/g, "''")}'`, {
username: currentCredentials.username
});
return { username: currentCredentials.username, password: newPassword };
},
close: () => client.destroy()