Stiamo lavorando su un servizio Web RESTful con AngularJS e Java Servlet. Quando l'utente esegue il login, il nostro backend invia un'intestazione "Set-Cookie" al frontend. In Angular accediamo all'intestazione tramite $cookies
(ngCookie - module) e lo impostiamo.
Ora che l'utente ha effettuato l'accesso può eliminare alcune cose. Pertanto il frontend invia una richiesta GET al back-end. Perché lavoriamo in domini diversi abbiamo bisogno di impostare alcuni CORS intestazioni e angolare fa una richiesta OPTIONS prima che la richiesta GET attuale:
OPZIONI richiesta:
richiesta GET
Lo facciamo in Angular tramite il modulo $ http, ma semplicemente non invierà il cookie, contenente JSESSIONID
.
Come posso consentire ad Angular di inviare cookie?
Questo e l'impostazione dell'intestazione back-end su Allow-Credentials hanno risolto il problema! Grazie! –
Solo per aggiungere a questo, ho notato quando ho fatto una chiamata come '$ http.get ('qualcosa', {withCredentials: true})' il browser non invierà i cookie. Tuttavia, usare il codice sopra per aggiungere 'withCredentials' ai valori predefiniti ha fatto il trucco. Non so perché, ma spero che questo aiuti se qualcun altro incontra questo problema –
Questo mi ha reso la vita un po 'più facile, grazie. – Seiyria