Domanda

Ho implementato un servizio di riposo, che sto chiamando da un'applicazione javascript in un dominio diverso.

Sto cercando di fare una richiesta GET, e impostando l'Autorizzazione:. Intestazione, con uno schema di autenticazione personalizzato

Perché sto impostando un header personalizzato, Firefox inizierà con una richiesta di opzioni di preflight. Questa richiesta si presenta così (semplificato):

OPTIONS /v1/articles HTTP/1.1
Host: example.org
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13 FirePHP/0.5
Origin: http://example.com
Access-Control-Request-Method: GET
Access-Control-Request-Headers: authorization

La mia risposta è la seguente:

HTTP/1.1 200 OK
Date: Wed, 15 Dec 2010 16:36:47 GMT
Server: Apache/2.2.9 (Debian) PHP/5.3.3-0.dotdeb.1 with Suhosin-Patch mod_vhost_hash_alias/1.0
X-Powered-By: PHP/5.3.3-0.dotdeb.1
Access-Control-Allow-Origin: http://example.com
Access-Control-Request-Method: GET,POST,PUT,DELETE,HEAD,OPTIONS
Access-Control-Request-Headers: Authorization, X-Authorization
Content-Length: 2
Content-Type: application/json

Dopo questo, la richiesta GET reale è semplicemente non eseguita. Sono preoccupato ho fatto un errore nella mia risposta, ma io non riesco a individuarlo.

L'altro problema è che non ho trovato alcun modo per ottenere un messaggio di errore dettagliato. Come potete vedere, ho anche provato X-Autorizzazione al posto di autorizzazione.

Le mie domande:

C'è qualcosa di sbagliato con la mia risposta? Come posso trovare maggiori dettagli sul problema?

Grazie!

È stato utile?

Soluzione

Avevo bisogno di uno sguardo nuovo questo. La mattina dopo mi sono reso conto le intestazioni corrette sono:

Access-Control-Allow-Methods: GET,POST,PUT,DELETE,HEAD,OPTIONS
Access-Control-Allow-Headers: Authorization, X-Authorization
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top