如何在Rails API gem中使用Session

时间:2013-09-25 17:22:01

标签: ruby-on-rails ruby session

目前,我正在为我的项目和该项目工作 运用 rails_api gem。我想添加会话管理进行身份验证,但是 它 似乎会议不起作用。这是我的配置 配置/初始化/ session_store.rb:

Pmcapi::Application.config.session_store :cookie_store, {

key: '_pmcapi_session',
expire_after: 1.hour

}

在我的session_controller中,我添加会话到商店令牌

(在session_controller.rb中)

def create
  #just to generate new token
  user.reset_sso_token!
  session[:token] ||= user.sso_token
  self.current_user = user
  redirect_to root_path
end

when i am in application_controller, i want to access session[:token] 
but
the result is nil (in application_controller.rb)

def authenticate_user!
  #puts("User Authentication")
  #puts(request.authorization)
  #puts(request)
  @user = User.authenticate_with_token(session[:token])
  #head :unauthorized unless @user.present?
  redirect_to sign_in_path if @user.nil?
end

拜托,我需要帮助。我坚持这一点,谢谢

1 个答案:

答案 0 :(得分:0)

您是否按照documentation中的说明在配置文件中添加了config.api_only = false

  

会话管理:如果提供了config.session_store并且   config.api_only = false,此中间件使会话可用   作为ActionController中的会话方法。