有人在使用 Safari 和返回 rails 应用程序的外部链接时遇到问题吗?
Anyone having issues with Safari and external links back to your rails app?
我有一个 rails 应用程序,其中包含用于身份验证的魔法。我正在尝试集成 Stripe 结账功能,但我发现 Safari 存在问题。适用于 Chrome 和 Firefox。
我可以使用取消 url 成功创建一个 Stripe 托管结帐页面,并且 stripe js 在同一个浏览器选项卡中将我发送到那里。问题是,当我在结帐页面上单击 cancel/back link 时,它会返回到我的应用程序并将我转到登录页面,因为它找不到会话并且 current_user 为零.
有趣的是,在登录页面上,如果我只是在地址栏中输入取消 url,它就会成功验证我的身份,因此它必须找到原始的 session/cookie。
有人遇到过这种情况吗?这是缓存问题吗?我在日志和 js 控制台中都没有看到错误。服务器日志中只有这个...
Filter chain halted as :require_login rendered or redirected
这与 Stripe 无关,因为我在另一台服务器和不同域上创建了一个简单的 test.html 页面,并使用 link 取消 url。同样的结果。我看到同样的问题从 https 返回到我的本地主机服务器以及在暂存环境 https -> https。
我还清除了我的 Safari 缓存、历史记录、cookie,重新启动了浏览器和我的计算机,并清除了 rails 会话 table,但均无济于事。我正在使用 activerecord 会话存储,但也尝试使用普通 cookie。
任何hints/solutions将不胜感激。谢谢!
截至 2021 年 2 月 19 日,这显然是 Safari 的一个已知错误。如果设置为 Lax,Safari 将不会发送 cookie。 Rails 6 个默认值现在是宽松的,其中 < 6 个未设置。
我有一个 rails 应用程序,其中包含用于身份验证的魔法。我正在尝试集成 Stripe 结账功能,但我发现 Safari 存在问题。适用于 Chrome 和 Firefox。
我可以使用取消 url 成功创建一个 Stripe 托管结帐页面,并且 stripe js 在同一个浏览器选项卡中将我发送到那里。问题是,当我在结帐页面上单击 cancel/back link 时,它会返回到我的应用程序并将我转到登录页面,因为它找不到会话并且 current_user 为零.
有趣的是,在登录页面上,如果我只是在地址栏中输入取消 url,它就会成功验证我的身份,因此它必须找到原始的 session/cookie。
有人遇到过这种情况吗?这是缓存问题吗?我在日志和 js 控制台中都没有看到错误。服务器日志中只有这个...
Filter chain halted as :require_login rendered or redirected
这与 Stripe 无关,因为我在另一台服务器和不同域上创建了一个简单的 test.html 页面,并使用 link 取消 url。同样的结果。我看到同样的问题从 https 返回到我的本地主机服务器以及在暂存环境 https -> https。
我还清除了我的 Safari 缓存、历史记录、cookie,重新启动了浏览器和我的计算机,并清除了 rails 会话 table,但均无济于事。我正在使用 activerecord 会话存储,但也尝试使用普通 cookie。
任何hints/solutions将不胜感激。谢谢!
截至 2021 年 2 月 19 日,这显然是 Safari 的一个已知错误。如果设置为 Lax,Safari 将不会发送 cookie。 Rails 6 个默认值现在是宽松的,其中 < 6 个未设置。