Я хочу настроить jwtInterceptor. Я нашел angular-jwt, но не знаю, как получить токен, который я сохранил в $ localStorage.
Я уже создал службу, которая получает токен из $ localStorage, но я не могу внедрить службу в конфигурацию, а также не могу вставить $ localStorage в конфигурацию.
Вот код angular-jwt:
angular
.module('app', ['angular-jwt'])
.config(function Config($httpProvider, jwtOptionsProvider) {
// Please note we're annotating the function so that the $injector works when the file is minified
jwtOptionsProvider.config({
tokenGetter: ['myService', function(myService) {
myService.doSomething();
return localStorage.getItem('id_token');
}]
});
$httpProvider.interceptors.push('jwtInterceptor');
})
Вот сервис, который я использую для сохранения токена в $ localStorage:
$http.post('/users/api/auth', { email: email, password: password })
.then(function (response) {
if (response.data.token) {
$localStorage.currentUser = { email: email, token: response.data.token, role: response.data.user.role }
$http.defaults.headers.common.Authorization = 'Bearer ' + response.data.token;
});
Я не совсем понимаю функцию myService, я пытался ее использовать, но я не могу вызвать ее и запустить. Как я могу получить свой токен и использовать его в конфигурации jwtInterceptor?