Nous construisons une nouvelle application avec Ruby on Rails. Notre interface est dans un projet séparé et nous n'utilisons pas les vues de Rails. Notre backend est situé au api.app.example.com
, tandis que la partie frontale est située au app.example.com
. Ils sont sur des infrastructures différentes (l'un est dans AWS ECS, l'autre dans S3). Nous avons des difficultés à enregistrer les cookies de session dans le navigateur.Rails 5 backend sur le sous-domaine ne sauvegarde pas les cookies
J'ai fait quelques recherches et trouvé les paramètres domain: :all
et tld_length: 4
, mais ceux-ci ont été principalement sur le même sous-domaine de longueur, juste des noms différents. J'ai essayé quelques-unes des combinaisons différentes, mais aucun d'entre eux a aidé jusqu'à présent:
domain: :all, tld_length: 3 domain: :all, tld_length: 4 domain: '.app.example.com', tld_length: 4 domain: '.example.com' domain: :all
L'en-tête Set-Cookie est reçu avec succès par le navigateur, mais il est pas enregistré, à cet effet rendu toute demande après la connexion non autorisée.
Y a-t-il quelque chose que j'oublie? Est-ce que cela peut être résolu ou devrais-je simplement déplacer le tout en IP unique et utiliser /api
au lieu de api.
?
Je l'ai déjà défini. L'en-tête Set-Cookie est envoyé avec ceci, mais il n'est pas sauvegardé, je suppose en raison de la configuration du domaine. – jj9987