Safari 和 Laravel - 邮件验证
Safari and Laravel - Mail Verification
背景故事
我已经开发 Laravel 应用程序大约一个月了。在开发过程中,我只使用 google chrome 来测试应用程序。该项目使用 Laravels mustverify 来验证用户的电子邮件。这在 google chrome 中完美无缺,但是,当我切换到我的 MacBook 时,使用 safari,事情变得很糟糕。
问题
当我从应用程序收到邮件到我的邮件客户端时,我通常只需单击下面显示的 link“验证电子邮件地址”。但是,这在 Safari 中不起作用。通常我会作为经过验证的用户发送到用户面板(在 google chrome 中),但在 Safari 中,我会被重定向到登录页面(未经过验证或“已登录”),因为如果会话在 Safari 浏览器中不存在。
那么我尝试了什么?
- 在我的 Mac 上尝试另一个浏览器:已下载 google chrome,工作正常。
- 花了几个小时阅读 Laravel 的 Auth 过程的文档。
我还读到 说 Safari 需要“www”。前面的url让它明白。但是我如何在本地主机中实现这一点?
所以现在我向您寻求提示、想法或想法。我将在下面列出一些可能相关的信息:
- PHP版本:7.3.24
- Laravel版本:8.20.1
- 软件堆栈:LEMP & LAMP(运行 都在不同的机器上进行测试)
- 野生动物园版本:14.0.2
错误是 Safari 不信任 mailtrap 提供给我的链接。当切换到普通邮件客户端时,一切正常。
编辑您的 session.same_site
配置以使用 none
或 null
不要忘记在生产中使用 lax
或 strict
可能是 Safari Bug...但我就是这样修复的...
我也在这里提供了答案...
背景故事
我已经开发 Laravel 应用程序大约一个月了。在开发过程中,我只使用 google chrome 来测试应用程序。该项目使用 Laravels mustverify 来验证用户的电子邮件。这在 google chrome 中完美无缺,但是,当我切换到我的 MacBook 时,使用 safari,事情变得很糟糕。
问题
当我从应用程序收到邮件到我的邮件客户端时,我通常只需单击下面显示的 link“验证电子邮件地址”。但是,这在 Safari 中不起作用。通常我会作为经过验证的用户发送到用户面板(在 google chrome 中),但在 Safari 中,我会被重定向到登录页面(未经过验证或“已登录”),因为如果会话在 Safari 浏览器中不存在。
那么我尝试了什么?
- 在我的 Mac 上尝试另一个浏览器:已下载 google chrome,工作正常。
- 花了几个小时阅读 Laravel 的 Auth 过程的文档。
我还读到
所以现在我向您寻求提示、想法或想法。我将在下面列出一些可能相关的信息:
- PHP版本:7.3.24
- Laravel版本:8.20.1
- 软件堆栈:LEMP & LAMP(运行 都在不同的机器上进行测试)
- 野生动物园版本:14.0.2
错误是 Safari 不信任 mailtrap 提供给我的链接。当切换到普通邮件客户端时,一切正常。
编辑您的 session.same_site
配置以使用 none
或 null
不要忘记在生产中使用 lax
或 strict
可能是 Safari Bug...但我就是这样修复的...
我也在这里提供了答案...