Rails_API gem中的Session

Ari*_*nto 11 session ruby-on-rails rails-api

我在我的项目中使用rails_api gem.我想添加会话管理进行身份验证,但似乎会话无效.这是我的配置config/initializer/session_store.rb:

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

  key: '_pmcapi_session', 
  expire_after: 1.hour
}
Run Code Online (Sandbox Code Playgroud)

我添加config.api_only = falseapplication.rb(将cookie会话存储添加回Rails API应用程序)

在我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
Run Code Online (Sandbox Code Playgroud)

在进入时application_controller,我想访问,session[:token]但结果是nil:

# 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
Run Code Online (Sandbox Code Playgroud)

小智 0

Pmcapi::Application.config.session_store :cookie_store, key: '_pmcapi_session', expire_after: 1.hour 你可以在 config/initializer/session_store.rb 中尝试一下吗