我正在构建一个包含两个域的系统(sub1.domain.com和sub2.domain.com)。这两个域使用完全相同的系统。我使用两个域的唯一原因是因为名称使用户更清楚。
在sub1.domain.com上一切正常,但在sub2.domain.com上我收到CSRF TokenMismatch错误。
我尝试以两种不同的方式实现CORS,制作my own middleware并使用standard composer package for laravel。 这两种解决方案似乎不起作用。
我还尝试在config/session.php
中定义一个域。 (子域和顶级域)。但是,当我尝试这一点时,整个登录停止工作,我被重定向回登录页面,没有消息。 (如果使用了错误的凭据,我确实收到了错误消息)
一些想法?
提前致谢!
答案 0 :(得分:1)
我有同样的问题,对于一个域,csrf正在工作,但是对于另一个域,我正在接收连接超时。我发现的唯一解决方案是在VerifyCSRFTtoken控制器中添加CSRF验证的例外。我的控制器现在看起来像这样:
class VerifyCsrfToken extends Middleware
{
protected $except = [
'/routename',
];
}
这不是最佳解决方案,但是可以快速修复。寻找更好的想法。