Configurando headers HTTP de aplicativos em AngularJS

Existe uma maneira de definir os headers $httpProvider fora de angular.module('myApp', []).config() ?

Estou recebendo um Auth-Token do servidor após o login do usuário e preciso adicioná-lo como um header HTTP a todas as solicitações a seguir.

Você pode usar headers padrão para o 1.0.x angular:

 $http.defaults.headers.common['Authentication'] = 'authentication'; 

ou solicitar interceptor para 1.1.x + angular:

 myapp.factory('httpRequestInterceptor', function () { return { request: function (config) { // use this to destroying other existing headers config.headers = {'Authentication':'authentication'} // use this to prevent destroying other existing headers // config.headers['Authorization'] = 'authentication'; return config; } }; }); myapp.config(function ($httpProvider) { $httpProvider.interceptors.push('httpRequestInterceptor'); }); 

Como fábricas / serviços são singletons, isso funciona desde que você não precise alterar dinamicamente seu valor de ‘autenticação’ depois que o serviço tiver sido instanciado.

 $http.defaults.headers.common['Auth-Token'] = 'token'; 

Parece headers() normaliza os nomes das chaves.

Adicionando as respostas acima de @Guria e @Panga

 config.headers['X-Access-Token'] = $window.sessionStorage.token; 

Pode-se usar o x-access-token no header como JWT (jsonwebtoken). Eu armazeno o JWT no armazenamento da session quando um usuário autentica pela primeira vez.