切换到新域名时保留用户会话(Ruby on Rails)

马克

我的Rails应用目前可在example.org上使用,但我想切换到example.com

进行通配符301重定向routes.rb不是问题,但是我也想保留用户会话由于新域将无法访问旧域的cookie,因此将用户重定向到新域并仍然登录的最佳方式(安全且尽可能简单)是什么?

我发现许多线程都在谈论使用复杂的身份验证令牌方法设置跨域Web应用程序,但是我正在寻找一次性的单向迁移,因此我希望解决方案会更简单。

有什么建议么?

我正在使用Ruby on Rails 3,OmniAuth,并使用默认的“ cookie_store”作为会话存储。

泰勒

您可以执行与发送带有身份验证令牌的电子邮件链接相同的方法。检查并确认Cookie正确无误example.org,如果正确,则将其重定向至:

http://example.com?token=<their token>

然后检查以确保令牌与令牌中的令牌匹配。如果令牌确实匹配,请为example.com创建会话cookie ,然后在数据库中更改令牌。

这将成功地从一个域转移到另一个域,同时提供对新域的持久登录(通过cookie),并通过更改数据库中的身份验证令牌来关闭它们后面的门。

编辑

要在下面回答您的问题,我认为您不需要中间件或其他任何花哨的东西。您可以在example.org的应用程序控制器中执行简单的before过滤器,例如:

before_filter :redirect_to_dot_com
...
def redirect_to_dot_com
  url = "http://example.com" + request.fullpath
  url= destination + (url.include?('?') ? '&' : '?') + "token=#{current_user.token}" if signed_in?
  redirect_to url, status: 301
end

这将以两种方式重定向用户,如果用户在.org站点上登录,则将令牌附加到查询中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails应用程序中的AWS RDS数据库-从root用户切换到IAM用户时出错

来自分类Dev

Rails:切换到彪马的要求规格

来自分类Dev

网站可以从wordpress cms切换到Rails或任何其他框架上的ruby吗?

来自分类Dev

Rails-自动将环境切换到生产

来自分类Dev

Rails-自动将环境切换到生产

来自分类Dev

浏览器关闭时销毁会话-Ruby on Rails

来自分类Dev

浏览器关闭时销毁会话-Ruby on Rails

来自分类Dev

Rails 4-从SQLite切换到MySQL-无法添加外键约束

来自分类Dev

为什么我不能将Rails应用切换到pg?

来自分类Dev

如何将Rails 3迁移生成切换到时间戳?

来自分类Dev

在jQuery中将div切换到特定的动态Rails元素之后,将其放置在旁边

来自分类Dev

切换到Rails 4.1时的错误-“ method_missing”:ActiveRecord :: Base:Class的未定义方法“ whitelist_attributes =”(NoMethodError)

来自分类Dev

在Ruby on Rails上关注用户

来自分类Dev

Ruby on Rails,停用用户

来自分类Dev

Ruby on Rails 中的用户角色

来自分类Dev

创建订单项记录时,将会话用户ID添加到Line_Items表中-Ruby on Rails

来自分类Dev

Ruby on Rails新对象属性

来自分类Dev

切换到inkognito浏览时,TCP会话是否持久?

来自分类Dev

Rails:带有Rails的会话跨域

来自分类Dev

在Rails中销毁用户会话的简便方法

来自分类Dev

设计Rails会话ID

来自分类Dev

无法登录会话(Rails)

来自分类Dev

Ruby on Rails-创建用户时创建配置文件

来自分类Dev

Ruby on Rails-创建用户时创建配置文件

来自分类Dev

在ElastiCache上将Ruby on Rails会话保存

来自分类Dev

Ruby on Rails会话控制器InvalidAuthenticityToken

来自分类Dev

在Ruby on Rails中的Javascript中设置会话

来自分类Dev

Ruby_on_rails 会话和语法

来自分类Dev

使用 Ruby on Rails 更新和访问会话

Related 相关文章

  1. 1

    Rails应用程序中的AWS RDS数据库-从root用户切换到IAM用户时出错

  2. 2

    Rails:切换到彪马的要求规格

  3. 3

    网站可以从wordpress cms切换到Rails或任何其他框架上的ruby吗?

  4. 4

    Rails-自动将环境切换到生产

  5. 5

    Rails-自动将环境切换到生产

  6. 6

    浏览器关闭时销毁会话-Ruby on Rails

  7. 7

    浏览器关闭时销毁会话-Ruby on Rails

  8. 8

    Rails 4-从SQLite切换到MySQL-无法添加外键约束

  9. 9

    为什么我不能将Rails应用切换到pg?

  10. 10

    如何将Rails 3迁移生成切换到时间戳?

  11. 11

    在jQuery中将div切换到特定的动态Rails元素之后,将其放置在旁边

  12. 12

    切换到Rails 4.1时的错误-“ method_missing”:ActiveRecord :: Base:Class的未定义方法“ whitelist_attributes =”(NoMethodError)

  13. 13

    在Ruby on Rails上关注用户

  14. 14

    Ruby on Rails,停用用户

  15. 15

    Ruby on Rails 中的用户角色

  16. 16

    创建订单项记录时,将会话用户ID添加到Line_Items表中-Ruby on Rails

  17. 17

    Ruby on Rails新对象属性

  18. 18

    切换到inkognito浏览时,TCP会话是否持久?

  19. 19

    Rails:带有Rails的会话跨域

  20. 20

    在Rails中销毁用户会话的简便方法

  21. 21

    设计Rails会话ID

  22. 22

    无法登录会话(Rails)

  23. 23

    Ruby on Rails-创建用户时创建配置文件

  24. 24

    Ruby on Rails-创建用户时创建配置文件

  25. 25

    在ElastiCache上将Ruby on Rails会话保存

  26. 26

    Ruby on Rails会话控制器InvalidAuthenticityToken

  27. 27

    在Ruby on Rails中的Javascript中设置会话

  28. 28

    Ruby_on_rails 会话和语法

  29. 29

    使用 Ruby on Rails 更新和访问会话

热门标签

归档