0

Я новичок в аутентификации на основе токенов. Я хочу ограничить пользователя конкретными страницами на моем сайте (проверьте его аутентификацию) и увидел, что jwt - лучший способ реализовать его и следуйте инструкциям здесь: https://devdactic.com/restful-api-user-authentication-2/, но как я могу ограничить доступ пользователя к страницам (спросите его чтобы залогиниться)? Здесь автор говорит, что он использовал AuthInterceptor, который проверяет подлинность. Но меня путают с перехватчиком auth. Может ли кто-нибудь объяснить нам, как я могу ограничить пользователя (например, часть ограничения на стороне сервера или на стороне клиента, если это серверная сторона, я могу получить ссылку на код в 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'); 
    }); 
+0

http://stackoverflow.com/questions/38160209/getting-parent-index-inside-a-custom-directice может вы помогаете в этом – vanquishers

Смежные вопросы