2016-04-15 1 views
1

У меня есть угловой шаблон. В app.js у меня есть этот конфиг:Что такое аутентификация Перехватчик в угловом

app.config(function ($routeProvider, $httpProvider) { 
$httpProvider.interceptors.push('AuthInterceptor'); 

$routeProvider 
.when('/', { .....etc 

AuthInterceptor является эта фабрика:

'use strict'; 

app.factory('AuthInterceptor', function ($rootScope, $q, $window, $location) { 
return { 
    request: function (config) { 
    config.headers = config.headers || {}; 
    if ($window.localStorage.token) { 
     config.headers.Authorization = 'Token ' + $window.localStorage.token; 
    } 
    return config; 
    }, 

    responseError: function (response) { 
    if (response.status === 401) { 
     $window.localStorage.removeItem('token'); 
     $window.localStorage.removeItem('email'); 
     $location.path('/'); 
     return; 
    } 
    return $q.reject(response); 
    } 
}; 
}); 

Что именно делать?

+0

Добавить заголовок авторизации, содержащий токен. Токен хранится в localStorage и удаляется, когда 401 возвращается сервером. – JEY

ответ

1

«AuthInterceptor» будет вводить токен в headers.Authorization параметр для каждого запроса перед ним. Это позволит вам сохранить logedIn на стороне сервера или проверить, существует ли токен и разрешить некоторые функции остатков.

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