Hey all,
I’m trying to make a custom database connection. Our database is MySQL and it’s hosted on a webserver, which means we need to be able to SSH into it. Here’s my login action script, which uses the mysql-ssh library:
function login(email, password, callback) {
const mysqlssh = require('mysql-ssh');
const bcrypt = require('bcrypt');
mysqlssh.connect(
{
host: "<host IP>",
port: 3822,
user: "root",
password: "<password>"
},
{
host: "localhost",
user: "root",
password: "<password>",
database: "user-db",
})
.then(client => {
var query = 'SELECT id, username, email, password FROM users WHERE email = ?';
client.query(query, [ email ], function(err, results, fields) {
if (err) return callback(err);
if (results.length === 0) return callback(new WrongUsernameOrPasswordError(email));
const user = results[0];
bcrypt.compare(password, user.password, function(err, isValid) {
if (err || !isValid) return callback(err || new WrongUsernameOrPasswordError(email));
callback(null, {
user_id: user.id.toString(),
username: user.username,
email: user.email
});
});
mysql.close();
});
})
.catch (err => {
return callback(err);
});
}
When I save & try it, it comes back with “401 - Unauthorized”. I’ve checked and there is no firewall on our webserver.
Any help with this issue would be appreciated. Thanks!