2015-07-19 18 views
6

Voglio che il mio server permetta l'intestazione 'Autorizzazione' per la mia app mobile. Attualmente il mio webserver è in vele e io uso le vele. Il mio codice percorsi èCome CORS Permettere le intestazioni nelle vele

'post /auth/local' : { 
    cors: { 
     origin: '*'  
    }, 
    controller: 'AuthController', 
    action: 'callback' 
}, 

Quando il mio client invia una richiesta di 'autorizzazione' nell'intestazione ottengo l'errore

XMLHttpRequest cannot load http://localhost:1337/auth/local. 
Request header field Authorization is not allowed by Access-Control-Allow-Headers. 

Come faccio a specificare nel mio codice percorsi che è consentito anche di intestazione 'Autorizzazione'?

risposta

11

Aggiungi headers : 'Content-Type, Authorization'-cors oggetto, come nell'esempio qui sotto:

'post /auth/local' : { 
    cors: { 
     origin: '*', 
     headers: 'Content-Type, Authorization' 
    }, 
    controller: 'AuthController', 
    action: 'callback' 
}, 

intestazioni: elenco separato da virgole di intestazioni che sono autorizzati a inviare le richieste CORS. Viene utilizzato solo in risposta a preflight requests.

Fonte: Sails CORS Config

noti che Content-Type è anche necessario a causa è il valore predefinito di tale proprietà ed è necessario per il POST e PUT metodi.

+0

Come faccio a rendere questo vero per tutti i percorsi in una volta? – raju

+0

Usa 'cors: true' e [config.cors.js] (http://sailsjs.org/documentation/reference/configuration/sails-config-cors), setup [qui] (http://sailsjs.org/ documentazione/concetti/sicurezza/cors) .Regards. –

Problemi correlati