Помогите пожалуйста! Я делаю приложение, в котором в зависимости от наличия токена выдаются Routes, директория с файлами, и шаблон для отправки. Я сделал так:
var jwt = require('express-jwt');
var check_token = jwt({
secret: 'LOVE',
credentialsRequired: false,
getToken: function fromHeaderOrQuerystring (req) {
if (req.headers.authorization &&
req.headers.authorization.split(' ')[0] === 'Bearer') {
var token = req.headers.authorization.split(' ')[1];
return token;
}
else if (req.query && req.query.token) {
return req.query.token;
}
return null;
}
});
// ------------------------------------------
app.use('/blocks', blocks);
app.use(express.static( __dirname + '/public' ));
app.use(check_token, function (req, res, next) {
if (!req.user) res.render('public');
return next();
});
app.use('/blocks', blocks_private);
app.use(express.static(__dirname + '/private'));
app.use(function (req, res, next) {
res.render('private');
});
В итоге, после онаружения токена клиент получает `private` шаблон, но не получает внешние файлы из директории `/private`.
Как изменить директорию express.static после получения токена?
UPD:
Кажется, я понял в чём проблема. Токен берётся из `LocalStorage` и через `javascript` встраивается в запрос. То есть при первом запросе получаю шаблон `private`, но затем из шаблона начинают запрашиваться внешние файлы и эти запросы уже идут без токена, поэтому и не определяется директория `/private`. Возможно, нужно отказаться от `LocalStorage` и перенести токен в cookie ?