1) Кука + сессия
2) OAuth можно
И вы уверены, что написаный в коде руками SQL запрос защищен от SQL-injection атаки?
var username = req.query.username - как-то не очень хорошо, с морды же все что угодно может прилететь. username = '; DROP TABLE users' какой-нить.