Я новичок в аутентификации на основе токенов. Я хочу ограничить пользователя определенными страницами на моем сайте (проверить его аутентификацию) и увидел, что jwt - лучший способ реализовать это, и следил за учебником здесь: https://devdactic.com/restful-api-user-authentication-2/, но как я могу запретить пользователю доступ к страницам (спросите его чтобы залогиниться)? Здесь автор говорит, что он использовал AuthInterceptor
, который проверяет часть аутентификации. Но меня смущает перехватчик авторизации. Может ли кто-нибудь объяснить, как я могу ограничить пользователя (например, ограничивающая часть кода находится на стороне сервера или на стороне клиента, если это на стороне сервера, могу ли я иметь ссылку на код в node.js
)?
аутентификация с использованием паспорта jwt
Ответы (1)
Я прикрепляю JWT к каждому запросу данных с моего сервера. Код выглядит следующим образом:
return {
request: function(config) {
var jwt;
if(isApiRequest(config.url)) {
config.url = baseUrl + '/api/v1/' + config.url;
jwt = store.get(JWT);
if(jwt)
config.headers.Authorization = "Bearer "+jwt;
}
return config;
}
};
Однако то, что вы хотите сделать, это определить, есть ли у пользователя JWT (и действительный при этом - который будет проверен сервером), и если да, то они могут получить доступ к определенным страницам.
Я бы сказал, что это можно сделать, отслеживая событие $stateChange
:
$rootScope.$on('$stateChangeStart', function(evt, toState, toParams, fromState, fromParams) {
var jwt = store.get('JWT');
if(!jwt)
$state.go('go-back-to-login-view');
});
person
Katana24
schedule
03.06.2016
stackoverflow.com/questions/38160209 / вы можете помочь в этом
- person vanquishers; 02.07.2016