Applicazione Web con origine CORS: * utilizzando l'intestazione dell'autorizzazione

1

Come indicato qui, link a "Richieste e caratteri jolly credenziali". Citazione:

When responding to a credentialed request, the server must specify an origin in the value of the Access-Control-Allow-Origin header, instead of specifying the "*" wildcard.

Because the request headers in the above example include a Cookie header, the request would fail if the value of the Access-Control-Allow-Origin header were "". But it does not fail: Because the value of the Access-Control-Allow-Origin header is "http://foo.example" (an actual origin) rather than the "" wildcard, the credential-cognizant content is returned to the invoking web content.

Quindi, se lo leggo correttamente, se Access-Control-Allow-Origin è impostato su * . Le richieste CORS non possono essere eseguite con credenziali, quindi, ad esempio con un'intestazione Authorization: Bearer 123 .

Questo si applica solo se la richiesta proviene da un'origine diversa dall'applicazione web (SOP). Altrimenti sarebbe impossibile per un'applicazione web utilizzare Access-Control-Allow-Origin: * e Authorization: Token 123 .

L'ho capito correttamente?

    
posta SaAtomic 21.09.2018 - 15:49
fonte

1 risposta

1

Praticamente, sì. La chiave qui è che il browser non presta attenzione all'intestazione ACAO per le richieste allo stesso dominio: quindi puoi mettere tutto ciò che ti piace nell'intestazione ACAO, e funzionerà per la tua applicazione in esecuzione sullo stesso dominio.

Per le richieste a un dominio diverso, il browser presta attenzione all'intestazione ACAO - se l'origine è accettabile, esamina le altre intestazioni Access-Control incluse e agisce in base a quelle (ad esempio ignorando le intestazioni di autenticazione se c'è un carattere jolly o nessuna intestazione Access-Control-Allow-Credentials: true

    
risposta data 21.09.2018 - 16:30
fonte