Мне удалось заставить Rack :: Session :: DataMapper , Padrino и Omniauth работать вместе. Основная цель состояла в том, чтобы иметь одинаковые сеансы и пользователей в основном приложении и в разделе администратора, а также иметь очень продолжительные сеансы. Опция set :sessions
была отключена, поэтому я пропатчил /padrino-core-0.9.23/lib\padrino-core/application.rb:203
use Rack::Flash if flash?
, чтобы не требовать sessions?
. Также я пропатчил /padrino-admin-0.9.23/lib/padrino-admin/access_control.rb:15
, чтобы не включать сессии.
Вот код моего приложения:
/ администратор / app.rb:
set :session_id, 'superapp.pro'.to_sym
use Rack::Session::DataMapper
/ приложение / app.rb:
set :session_id, 'superapp.pro'.to_sym
use Rack::Session::DataMapper
/ Библиотека / omniauth_init.rb:
use Rack::Session::DataMapper
Вопрос: есть ли более приятный способ подружиться с пользовательским магазином сессионной стойки с Omniauth? Мне не удобно использовать Rack::Session::DataMapper
три раза.