Class: Rack::DeviseCookieAuth
- Inherits:
-
Object
- Object
- Rack::DeviseCookieAuth
- Defined in:
- lib/rack/devise_cookie_auth.rb,
lib/rack/devise_cookie_auth/version.rb
Constant Summary collapse
- DEFAULT_OPTIONS =
{ resource: 'user', redirect_to: nil }
- VERSION =
'0.1.0'
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, options = {}) ⇒ DeviseCookieAuth
constructor
A new instance of DeviseCookieAuth.
Constructor Details
#initialize(app, options = {}) ⇒ DeviseCookieAuth
Returns a new instance of DeviseCookieAuth.
10 11 12 13 14 |
# File 'lib/rack/devise_cookie_auth.rb', line 10 def initialize(app, = {}) raise ArgumentError, 'Cookie secret must be set!' if [:secret].nil? @app, = app, DEFAULT_OPTIONS.merge() end |
Instance Method Details
#call(env) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/rack/devise_cookie_auth.rb', line 16 def call(env) @request = Rack::Request.new(env) verifier = ActiveSupport::MessageVerifier.new([:secret]) resource_ids, remember_key = verifier.verify(@request.[]) env["current_#{resource}_id"] = resource_ids.first @app.call(env) rescue ActiveSupport::MessageVerifier::InvalidSignature redirect! end |