2013-01-06 13 views

risposta

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

Sembra che headers() normalizzi i nomi dei tasti.

+3

Puoi approfondire cosa intendi normalizzando i nomi dei tasti? – Webnet

+4

Quando si ottengono le intestazioni usando il metodo headers(), la chiave "Auth-Token" diventa minuscola e diventa "auth-token". Che è fonte di confusione – lucassp

+0

@lucassp può essere questo - http://stackoverflow.com/questions/5258977/are-http-headers-case-sensitive – KrIsHnA

65

È possibile utilizzare le intestazioni predefinite per angolare 1.0.x:

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

o richiesta di intercettazione per angolari 1.1.x +:

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'); 
}); 

Dal fabbriche/servizi sono single, questo funziona finché non è necessario modificare dinamicamente il valore di 'autenticazione' dopo che il servizio è stato istanziato.

+0

Mi piace come un servizio. Grazie! – grant

+2

Un po 'confuso. Come posso integrare questo nella mia app? Devo elencare come dipendenza e quindi usare '$ httpProvider' invece di' $ http'? –

+0

Iniettare $ httpProvider nel metodo di configurazione che si blocca dal modulo dell'app. I provider sono un modo di configurare i servizi prima che vengano iniettati da Angular nei controller ecc. – Greg

1

aggiunta alle risposte sopra di @Guria e @Panga

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

si può usare x-token di accesso nell'intestazione come JWT (jsonwebtoken). Memorizzo JWT nella memoria di sessione quando un utente effettua l'autenticazione per la prima volta.

Problemi correlati