Мне нужно знать, что если мой метод проверки подлинности и управления сеансом является правильным.Сессии и Логин Данные пользователя с узлом и AngularJS
Я использую управление сеансом, когда получаю успешную аутентификацию. от узла сервера. Я храню данные пользователя (без каких-либо следов pass.) В $ window.sessionStorage, и если пользователь помечен memMe (флажок), сохраните данные в $ window.localStorage тоже.
Через это я могу получить данные в разных контроллерах. Хотя я где-то читал о реализации сеанса на стороне сервера (nodeJs), также возможно. Но я не уверен, как использовать сеанс вместе с JSONToken Authentication.
Я использовал https://jasonwatmore.com/post/2015/12/09/MEAN-Stack-User-Registration-and-Login-Example.aspx как пример обучения, но я не мог этого понять.
/app/app.js
Почему в методе Run()?
// add JWT token as default auth header
$http.defaults.headers.common['Authorization'] = 'Bearer ' + $window.jwtToken;
и что это:
// manually bootstrap angular after the JWT token is retrieved from the server
$(function() {
// get JWT token from server
$.get('/app/token', function (token) {
window.jwtToken = token;
angular.bootstrap(document, ['app']);
});
});
/controllers/app.controller.js
// use session auth to secure the angular app files
router.use('/', function (req, res, next) {
if (req.path !== '/login' && !req.session.token) {
return res.redirect('/login?returnUrl=' + encodeURIComponent('/app' + req.path));
}
next();
});
// make JWT token available to angular app
router.get('/token', function (req, res) {
res.send(req.session.token);
});
// serve angular app files from the '/app' route
router.use('/', express.static('app'));
Как насчет хранения данных в sessionStorage и localStorage? –
Не могли бы вы объяснить мне, какие части кода я выделил –
Те, которые в порядке, как на стороне клиента. Поэтому вы просто берете их у клиента и передаете их на сервер при каждом использовании. Однако я бы не приветствовал использование сеанса на стороне сервера. Поймите, что использование localStorage может открыть вас для атак XSS, поэтому убедитесь, что вы используете соответствующие заголовки в своем приложении. Угловой имеет довольно много встроенных в защиту против него! Я использую localStorage для своего приложения. Что-то еще, что вы должны сделать, не имеет разницы в localStorage и sessionStorage, просто идите/обновите JWT по мере необходимости. –