プロジェクトで rails_api gem を使用しています。認証用のセッション管理を追加したいのですが、セッションが機能していないようです。ここに私の設定がありますconfig/initializer/session_store.rb
:
Pmcapi::Application.config.session_store :cookie_store, {
key: '_pmcapi_session',
expire_after: 1.hour
}
追加config.api_only = false
しましたapplication.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
の場合、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