Try to fix the rotation for psql

This commit is contained in:
Fang-Pen Lin
2025-10-24 12:29:25 -07:00
parent c0d6204e13
commit 172eeebeff
@@ -115,7 +115,13 @@ const makeSqlConnection = (
}, },
rotateCredentials: async (currentCredentials) => { rotateCredentials: async (currentCredentials) => {
const newPassword = alphaNumericNanoId(32); 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 }; return { username: currentCredentials.username, password: newPassword };
}, },
close: () => client.destroy() close: () => client.destroy()