Аутентификация в экспрессе и паспортная аутентификация - PullRequest
0 голосов
/ 19 мая 2018

Как я могу реализовать аутентификацию API на моей NodeJS Express Framework для веб-платформы на основе react вместе с опцией для паспортной аутентификации.

1 Ответ

0 голосов
/ 19 мая 2018

Вы должны внедрить механизм аутентификации через cookie или сессию.После успешного входа в систему вы будете устанавливать cookie в браузере, и при каждом запросе HTTP у вас будет доступ к данным cookie, чтобы проверить наличие запроса в браузере зарегистрированного пользователя или нет.

Создайте функцию промежуточного программного обеспечения, которая будет проверять наличиедопустимые данные cookie в объекте req для каждого запроса API.

Если пользователь не вошел в систему и не пытается получить доступ к определенному ресурсу с помощью вызова API, запрос будет неавторизован (401).

Вам необходимо изменить свой API входа примерно так.

function login(req, res){
    // Your logic for DB checks and to validate credentials will go here

    // On valid credentials, you can set the cookie like this
      res.cookie(cookieName, cookieData, cookieOptions);
}

и функция промежуточного программного обеспечения, которая проверяет аутентификацию, может выглядеть следующим образом

function checkSession(req, res, next) {
  if(!req.cookies || !Object.keys(req.cookies).length){
    res.send(401)
  }
  else next();
}

Более подробную информацию о том, какиспользовать cookie-парсер здесь.

...