Class: Conjoin::AuthToken::Middleware::Responder
- Inherits:
-
Object
- Object
- Conjoin::AuthToken::Middleware::Responder
- Defined in:
- lib/conjoin/auth_token.rb
Instance Method Summary collapse
-
#initialize(app, env) ⇒ Responder
constructor
A new instance of Responder.
- #respond ⇒ Object
Constructor Details
#initialize(app, env) ⇒ Responder
Returns a new instance of Responder.
49 50 51 52 |
# File 'lib/conjoin/auth_token.rb', line 49 def initialize(app, env) @app = app @env = env end |
Instance Method Details
#respond ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/conjoin/auth_token.rb', line 54 def respond if req.params['auth_token'] and (auth_token = req.params['auth_token']) and\ req.params['iv'] and (iv = Base64.decode64(req.params['iv'])) salt = Base64.decode64(req.params['salt']) if req.params['salt'] salt ||= nil obj = AuthToken.decrypt auth_token, iv, salt if Time.now < Time.parse(obj['expires_at']) user = AuthToken.settings.klass.constantize.find_by_username obj['username'] case AuthToken.settings.type.to_sym when :warden req.env['warden'].set_user(user, scope: :user) if user when :shield req.session.clear req.session[AuthToken.settings.klass] = user.id if user end res.redirect 'login?return=%2F&sso_error=1' unless user end end res.finish end |