Rails разрабатывают проблему Omniauth с Safari и мобильным Safari на iOS

#ruby-on-rails #iphone #ruby #safari #devise

#ruby-on-rails #iPhone #ruby #safari #разработка

Вопрос:

Я сталкиваюсь со странной проблемой при использовании devise с Safari (как для настольных компьютеров, так и для мобильных устройств). Когда пользователь пытается войти в систему, в первый раз он перенаправляется на домашнюю страницу БЕЗ входа пользователя. Но когда я снова нажимаю «Войти» или перехожу на домашнюю страницу в новом браузере, пользователь входит в систему, и все работает.

В Chrome и Firefox все работает нормально. Вход с паролем также отлично работает в Safari. Проблемы возникают только из-за входа в систему Omniauth в Safari.

В моем OmniauthCallbacksController у меня есть это:

 def login_user(provider)
    @user = User.find_for_oauth(request.env['omniauth.auth'], current_user)

    if @user.persisted?
      remember_me(@user)
      sign_in_and_redirect @user, event: :authentication
      set_flash_message(:notice, :success, kind: provider.to_s.capitalize) if is_navigational_format?
      # current_user is present here
    else
      session["devise.#{provider}_data"] = env['omniauth.auth']
      redirect_to new_user_registration_url
    end
  end
 

В моем HomeController

 def index
   if current_user
     # Should be here
   else
     # here instead
   end
end
 

Что может вызвать нечто подобное?