В настоящее время я интегрирую Warden в новое приложение Rack, которое я создаю. Я хотел бы реализовать недавний патч для Rack, который позволяет мне указать, как сеансы сериализуются; в частности, я хотел бы использовать Rack::Session::Cookie::Identity
в качестве процессора сеанса.
К сожалению, в документации немного неясно, какой синтаксис я должен использовать для настройки Rack::Session::Cookie
в моем файле расширения, может кто-нибудь здесь сказать мне, что я делаю неправильно?
config.ru
require 'my_sinatra_app'
app = self
use Rack::Session::Cookie.new(app, Rack::Session::Cookie::Identity.new), {:key => "auth_token"}
use Warden::Manager do |warden| # Must come AFTER Rack::Session
warden.default_strategies :password
warden.failure_app Jelli::Auth.run!
end
run MySinatraApp
сообщение об ошибке от худого
!! Unexpected error while processing request: undefined method `new' for #<Rack::Session::Cookie:0x00000110124128>
PS: я использую bundler для управления своими гем-зависимостями, и я также включил основную ветку стойки в качестве желаемой версии.
Обновление: Как предлагается в комментариях ниже, я прочитал документацию ; к сожалению, предлагаемый синтаксис в документации не работает.
Обновление: Все еще не повезло с моей стороны; предлагая щедрость тому, кто может помочь мне понять это.