Для работы с OAuth на данный момент удобрение всего использовать модуль
passport.js. Что касается разграничения доступа. Вместо сокращенной записи
app.get('/route', function(req, res) {
// ...
});
можно использовать
app.get('/route', [loadUser1, loadUser2, ..., loadUserN], function(req, res) {
// ...
});
где loadUser1, loadUser2, ..., loadUserN - некоторые функции, которым передаются 3 параметра (req, res, next). next() вызывает следующую функцию в списке. С помощью req можно получить/добавить данные сессии или ,если настроен passport.js, объект passport в котором находиться вся информация от VK. res.redirect('/'); перенаправит неугодных на соответствующую страницу.
function loadUser(req, res, next) {
if (req.session.user_id) {
next();
}
else {
res.redirect('/sessions/new');
}
}