Abbiamo migrato di recente un'applicazione API da Servizi cloud di Azure ai siti Web di Azure e alcuni client continuano a utilizzare il nostro protocollo legacy per l'autenticazione, che utilizza i cookie (invece della solita intestazione HTTP Authorization: Bearer
). Dobbiamo supportare questo protocollo di autenticazione un po 'più a lungo, poiché i client non saranno in grado di migrare immediatamente.Abilita intestazione Access-Control-Allow-Credentials nel sito Web di Azure (Servizi app di Azure)
Per sostenere i cookie in una richiesta Ajax cross-origine diretto alle API, il client deve impostare l'impostazione withCredentials
al true
nel XMLHttpRequest, e il server deve repond con la Access-Control-Allow-Credentials
intestazione, nonché a qualsiasi richiesta CORS.
Il problema che dobbiamo affrontare è che il sito Web di Azure gestisce CORS da solo e utilizza la propria configurazione (che è limitata a un elenco di origini consentite) per la risposta, che non consente di impostare questa intestazione. rompendo così l'applicazione per tutti i nostri clienti Ajax!
C'è un modo per aggiungere (temporaneamente) questa intestazione nelle risposte?
Grazie! Ho avuto un sacco di problemi nell'utilizzare CORS in un'app per servicestacks ospitata su Azure. Risulta che rimuovere la configurazione CORS dal portale di Azure ha risolto tutto. –
Strano, dovrebbe avere un interruttore per disabilitare Azure cors, semplicemente rimuovendo tutti i siti lo disabilita e passa alla tua app. Se sono elencate delle origini, sembra che rimuova qualsiasi altra intestazione CORS che hai (con metodi, metodi, ecc.).Penso che una sorta di spiegazione che l'accesso a un sito possa abilitarlo e quali valori userebbe per quelle altre intestazioni dovrebbero essere fornite. Penso che dovrebbe dare qualche tipo di errore o avviso per rimuovere automaticamente anche le intestazioni ... –