saino.me (kaishuu0123)

都内でひっそりと生きる IT エンジニアの個人ブログです

Ruby on Rails で Token base authentication(JWT) と OmniAuth を組み合わせて使うと「OmniAuth::NoSessionError (You must provide a session to use OmniAuth.):」と言われる問題の対処

github.com

stackoverflow.com

こんな感じで書くといいっぽい

Doing this at ApplicationController:

class ApplicationController < ActionController::API
  before_action :skip_session
  ## Skip sessions and cookies for Rails API
  def skip_session
    request.session_options[:skip] = true
  end
end

And adding this in application.rb:

config.middleware.use ActionDispatch::Session::CookieStore

As @betoharres says, it's ugly but works for now.

確かに上手くいったけど、なんでこれで対処できているのか分からんのであとで調べる