Как правильно организовать авторизацию в node.js?
1. Сначала сделайте простой запрос (без авторизации) для получения произвольного кода (на сервере генерируем случайный ключ и возвращаем)
2. Полученный ключ (code) кодируем на клиенте через SHA256 (code+username+password)
3. Делаем запрос авторизации отправляя шифрованный код
4. На Сервере проверяем в базе комбинацию SHA256(ключ+полеUSER+полеPASSWORD). Если нашли - Вуаля! и убиваем ключ
Таким образом  будет отправляться всегда новый код для авторизации и снифферы не уловят ваши данные.
1) Кука + сессия
2) OAuth можно
И вы уверены, что написаный в коде руками SQL запрос защищен от SQL-injection атаки? 
var username = req.query.username - как-то не очень хорошо, с морды же все что угодно может прилететь. username = '; DROP TABLE users' какой-нить.