我刚刚使用docker部署了一个应用程序。该应用程序已启动,但我永远无法保持会话,因为当我在服务提供商启动方法中记录csrf_token((方法时,每次请求通过并启动应用程序时,都是一个新的csrf令牌。我找了好几天为什么会发生这种事,但没有得到任何解释。如有任何帮助,我们将不胜感激。
我已经在.env上设置了SESSION_LIFETIME变量,但它不会更改任何
您的登录页面应该在安装时发出此请求
axios.get('/sanctum/csrf-cookie').then(response => {});
您还需要确保您的引导.js中有凭据设置为true的axios。
window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
window.axios.defaults.withCredentials = true;
对于SESSION_LFETIME,您是在.env.production中设置它,还是在部署到的任何环境中设置它?
您可能还需要检查SESSION_DRIVER在同一文件中的设置
vapor env:pull staging //for example to see what you have