切换到 HTTPS 页面时保持用户身份验证 - Devise & Heroku
Keeping user authenticated when switching to HTTPS page - Devise & Heroku
我有一个 rails 应用程序托管在 Heroku 上,它使用自定义域并且没有 SSL,但在结帐页面上我想使用已经配置了 SSL 的 Heroku URL。
例如,用户在 http://www.example.com
并且已经登录,然后单击结帐 link 转到 https://example.herokuapp.com/checkout
。
问题是,一旦用户访问第二个 URL,他们就会被重定向,因为应用认为他们不再登录。在这些页面之间切换时,有没有办法让用户保持登录状态?
您不能对 herokuapp.com 子域执行此操作。
该域由浏览器在其 public 后缀列表中列出:https://devcenter.heroku.com/articles/cookies-and-herokuapp-com
这意味着您不能使用将设置 *.herokuapp.com
的 cookie,更不用说 *.com
.
唯一可以做到这一点的方法是始终使用自定义域或 herokuapp.com 子域。
如果您不在自定义域上使用 SSL 的原因是价格,您可能会对 CloudFlare 的 SSL 产品和通过它们对您的应用程序的代理请求感兴趣:https://www.cloudflare.com/ssl
我有一个 rails 应用程序托管在 Heroku 上,它使用自定义域并且没有 SSL,但在结帐页面上我想使用已经配置了 SSL 的 Heroku URL。
例如,用户在 http://www.example.com
并且已经登录,然后单击结帐 link 转到 https://example.herokuapp.com/checkout
。
问题是,一旦用户访问第二个 URL,他们就会被重定向,因为应用认为他们不再登录。在这些页面之间切换时,有没有办法让用户保持登录状态?
您不能对 herokuapp.com 子域执行此操作。
该域由浏览器在其 public 后缀列表中列出:https://devcenter.heroku.com/articles/cookies-and-herokuapp-com
这意味着您不能使用将设置 *.herokuapp.com
的 cookie,更不用说 *.com
.
唯一可以做到这一点的方法是始终使用自定义域或 herokuapp.com 子域。
如果您不在自定义域上使用 SSL 的原因是价格,您可能会对 CloudFlare 的 SSL 产品和通过它们对您的应用程序的代理请求感兴趣:https://www.cloudflare.com/ssl