我在我的項目中使用了rails_api gem。我想爲認證添加會話管理,但似乎會話不起作用。下面是我在config/initializer/session_store.rb
配置:Rails_API中的會話gem
Pmcapi::Application.config.session_store :cookie_store, {
key: '_pmcapi_session',
expire_after: 1.hour
}
我application.rb
(Adding cookie session store back to Rails API app)
,並添加config.api_only = false
在我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
當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
我有同樣的問題。 Upvoted增加曝光。 – sjmog
你解決了這個問題嗎? https://github.com/rails-api/rails-api/pull/97 – enricostn
也請留下以供參考:https://github.com/rails-api/rails-api/issues/73 – jottr