Je suis en train de travailler sur une application basée sur AngularJS sur le côté client et Java pour mon API (Tomcat + Jersey pour WS) sur le côté serveur.
Le chemin de mon API sont limités, si l'utilisateur ne dispose pas d'une session à l'état de la réponse renvoyée est 401. Sur le côté client, d'état http 401 sont interceptés pour rediriger l'utilisateur vers la page de connexion.
Une fois l'utilisateur authentifié, j'ai créer une session sur le serveur
httpRequest.getSession(true);
et la réponse de l'envoyer au client de n'avoir le Set-cookie instruction dans son en-tête :
Set-Cookie:JSESSIONID=XXXXXXXXXXXXXXXXXXXXX; Domain=localhost; Path=/api/; HttpOnly
Le problème est que le cookie n'est jamais mis sur le côté client. Quand j'ai inspecter cookie de domaine localhost c'est vide, alors la prochaine demandes n'ont pas ce cookie dans son en-tête et côté client ne pouvais toujours pas accès restreint chemin de mon API.
Le client et le serveur sont sur le même domaine, mais ils n'ont pas le même parcours et le même numéro de port :
Client : http://localhost:8000/app/index.html
Serveur : http://localhost:8080/api/restricted/
Informations supplémentaires : la SCRO est activé sur les deux côtés :
"Access-Control-Allow-Méthodes", "GET, POST, les OPTIONS" "Access-Control-Allow-Origin", "*" "Access-Control-Allow-Pouvoirs", true
Une idée pour faire le Set-cookie fonctionne correctement ? Est-il un AngularJS question connexe ?