Class: Conjoin::AuthToken::Middleware::Responder

Inherits:
Object
  • Object
show all
Defined in:
lib/conjoin/auth_token.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, env) ⇒ Responder

Returns a new instance of Responder.



39
40
41
42
# File 'lib/conjoin/auth_token.rb', line 39

def initialize(app, env)
  @app      = app
  @env      = env
end

Instance Method Details

#respondObject



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/conjoin/auth_token.rb', line 44

def respond
  if auth_token = req.params['auth_token']
    obj = AuthToken.decrypt auth_token

    if Time.now < Time.parse(obj['expires_at'])
      user = AuthToken.settings.klass.constantize.find obj['id']
      case AuthToken.settings.type.to_sym
      when :warden
        req.env['warden'].set_user(user, scope: :user)
      when :shield
        req.session.clear
        req.session[AuthToken.settings.klass] = obj['id']
      end
    end
  end

  res.finish
end