Ho un'applicazione basata su React che utilizza servizi RESTful su backend distribuiti su una rete privata. Per comunicare con tali servizi utilizzando AJAX, l'applicazione client invia tutte le sue richieste attraverso il gateway proxy. Qualcosa del genere:
Le mie applicazioni inviano richieste di verifica preliminare (OPZIONI) per verificare le impostazioni CORS.
Quando l'accesso alla richiesta di risorse protette passa per la prima volta attraverso il middleware di autenticazione che sostanzialmente controlla l'intestazione x-access-token
e lo convalida. Restituisce 401
se il token non è valido o mancante. Il problema è che non posso impostare intestazioni personalizzate nella richiesta di preflight e il mio middleware di autenticazione lo blocca.
Solo la soluzione che ho trovato su internet è controllare se la richiesta è OPTIONS e se lo è, ignora il middleware di autenticazione e passa semplicemente la richiesta. (sia per Java / Spring o Node / Express)
Ora, passando tutte le richieste OPTIONS attraverso odori non protetti per me. Di cosa dovrei essere a conoscenza? Come posso verificare se la richiesta di OPTION è stata creata dal browser? Quali rischi per la sicurezza esistono all'interno di questo approccio?