@historydev
Острая аллергия на анимешников

Как управлять авторизацией с единой точкой входа?

Вот так выглядит вход в моё приложение:

app.use(basic_authentication_controller);
app.use('/messages', jwt_authentication_controller);

app.get('*', (req, res) => {
	res.sendFile('index.html', {root: path.resolve(__dirname, '../dist')});
});


Я использую basic auth + jwt для авторизации + аутентификации. На клиенте при успешной аутентификации я устанавливаю куку с токеном. Приложение на ангуляре, в /dist билд проекта, у него как и у всех свой роутер, как мне разграничить доступ по роутам в моём случае? Допустим /auth не будет доступен если пользователь уже авторизован и наоборот, остальное не будет доступно если он не авторизован.
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kuftachev
Можно написать middleware которая:

  • если на auth без куки - next()
  • если на auth с куки - 200, можно ещё куке обновить срок годности
  • если другой роут без куки - 401
  • если другой роут с куки - next()


Можно не куку, а токен проверять и что ещё нужно.

Второй вариант, можно использовать разные middleware для разных роутов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы