Ответы пользователя по тегу ВКонтакте
  • Авторизация через vk.api и разграничение доступа к определенным страницам сайта?

    @Kilai
    Для работы с 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');
      }
    }
    Ответ написан
    1 комментарий