【问题标题】:Laravel 7 session break on IFRAME in a different domainLaravel 7 会话中断在不同域中的 IFRAME
【发布时间】:2020-07-02 19:06:12
【问题描述】:

我在这里尝试开发一个简单的 Laravel 应用程序:

https://shopifyapp.sjranjan.com

此登录工作正常。现在我将上面的 URL 推送到这个页面的 iframe 中......

http://thephpworld.com/iframe.php

当我尝试在那里登录时,它显示...“419 页面已过期”

我看到这个错误与 CSRF 令牌有关。我也尝试删除它。同样的问题仍然存在。

如果我将 iframe 放入同一域中,它工作正常。但我的要求是这个应用程序必须在另一个网站内的 iframe 上运行。如何处理?

任何帮助将不胜感激!

【问题讨论】:

  • 需要在ajax中传入token var token = $("meta[name='csrf-token']").attr("content");
  • 其实不是 ajax 调用...它在 IFRAME 中是同一个 URL...但是在另一个域中。
  • 兄弟..问题解决了吗?因为我目前面临同样的问题..
  • 你解决了吗?

标签: php laravel iframe


【解决方案1】:

我最终通过更改以下内容来编辑 config/sessions.php 文件来解决此问题...

FROM 'same_site' => 'lax' TO 'same_site' => 'none'

【讨论】:

  • 我的 frontapp 插件(来自 Laravel 应用程序的嵌入式 iframe)也有类似的问题。 Sentinel::guest() 在 iframe 上返回 true,即使我已登录。会话已设置为 same_site=>none
猜你喜欢
  • 2012-11-17
  • 2020-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-13
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
相关资源
最近更新 更多