omn​​iauth oauth重定向后,Rails会话丢失

时间:2019-02-19 16:04:33

标签: ruby-on-rails ruby omniauth

在使用oauth(Linkedin)之前,我们正在使用Rails会话来保存用户意图。这里的想法是在Linkedin回调后显示不同的页面。问题是我们有时会在Linkedin重定向回调后看到会话丢失,这会导致我们这边的错误。


这是Rails会话设置:

Rails.application.config.session_store 
  :cookie_store, 
  key: "_my_session_#{Rails.env}", 
  :secure => !ENV['NO_SSL'] && (Rails.env.production? || Rails.env.staging?), 
  :expire_after => 100.years

这是我们在重定向到Linkedin身份验证页面之前设置cookie的方式:

def social_login
  session[:intention] = 'login'
  redirect_to_provider(params[:provider], request.query_parameters)
end

重定向后的会话内容:

{
  _csrf_token: nYlKmD/KAbj3hmWQ+cIethchxlHTOzUMjG/5y/fldLE=
  oauth: {"linkedin": {"callback_confirmed": true}}
  session_id: 4165617feee7f9a51148318d300291fc
}

以防万一:Rails 5.2.1,omiauth 1.8.1,Docker

0 个答案:

没有答案