【发布时间】:2013-02-26 10:20:06
【问题描述】:
我正在研究 sso 。一个请求来自其他应用程序,在收到该请求后,我在omniauth回调控制器中调用1个方法并使用json对象响应。但在完成响应后,它会更新各个会话的 updated_at。我想停止更新各个会话的 updated_at。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2
我正在研究 sso 。一个请求来自其他应用程序,在收到该请求后,我在omniauth回调控制器中调用1个方法并使用json对象响应。但在完成响应后,它会更新各个会话的 updated_at。我想停止更新各个会话的 updated_at。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2
omniauth 会为您执行一些会话任务,因此您的会话会在omniauth 回调后得到更新。随着会话的更新,您在会话中的 updated_at 值会由 rails 自动(且合理地)更新。
我认为如果不自定义 Rails 源代码就无法实现目标,这显然不是一个好主意。
如果你不想使用updated_at中的值,就忽略它或者设置为nil
session[:updated_at] = nil
如果您想在omniauth回调之前保留该值:
original_updated_time = session[:updated_at]
YOUR CALLBACK LOGIC
session[:updated_at] = original_updated_time
【讨论】: