1

目前我正在我的项目中工作,并且该项目使用 rails_api gem。我想为身份验证添加会话管理,但似乎会话不起作用。这是我在 config/initializer/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

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

4

1 回答 1

0

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

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

于 2013-09-25T21:09:37.130 回答