2016-01-03 3 views
0

Я пишу приложение nodejs и angularjs, и я хочу создать простую авторизацию, чтобы только зарегистрированным пользователям разрешалось видеть некоторые страницы.Авторизация авторизации с помощью angularjs nodejs

Я прочитал о jwt (токене json web), и мой пользователь теперь получил «токен», но что мне теперь делать? вся маршрутизация находится в угловой маршрутизации. Как я могу проверить маршрутизацию там?

Моего nodeJS Код:

server.use(express.static(__dirname + '/public/app')); 
server.use(bodyParser.json()); 

Моих angularJS:

var app = angular.module('app').config(function($routeProvider){ 
$routeProvider.when('/main',{ 
templateUrl: 'templates/main.html', 
controller: 'MainCtrl' 
}); 
$routeProvider.when('/onlyLogged',{ 
templateUrl:'/templates/onlyLogged.html', 
controller: 'NewCtrl 
}); 

Я хочу, чтобы моя сторону сервера, чтобы определить, когда пользователь переходит к onlyLogged, и если пользователь не авторизован, чтобы перенаправить его 401 страница.

спасибо!

+0

вам нужно написать перехватчик, который должен передать этот маркер на сервер с каждым запросом – harishr

+0

Может быть, вы должны хранить 'JWT' маркер в' cookie', 'LocalStorage' или' $ rootScope' и вы должны искать наличие токена, и если токен присутствует с помощью 'resolve' в' $ routeProvider', вы сможете решить проблему на стороне клиента –

ответ

0

вам нужно будет передать этот маркер обратно пользователь/клиент/Угловое и хранить его в какой-то сервис/локальное хранение

, а затем передать маркер на сервер при каждом запросе ...

this is one such sample implementation

эта часть кода сохраняет его в печенье магазине

var success = function (data) { 
     var token = data.token; 

     api.init(token); 

     $cookieStore.put('token', token); 
     $location.path('/'); 
    }; 

это где вы передаете его обратно с каждым запросом

angular.module('dashboardApp').factory('api', function ($http, $cookies) { 
    return { 
     init: function (token) { 
      $http.defaults.headers.common['X-Access-Token'] = token || $cookies.token; 
     } 
    };