Class: Saddle::Middleware::Authentication::OAuth2

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/saddle/middleware/authentication/oauth2.rb

Overview

Add OAuth 2.0 authentication tokens to requests

Instance Method Summary collapse

Constructor Details

#initialize(app, key_name = 'access_token') ⇒ OAuth2

Returns a new instance of OAuth2.



13
14
15
16
# File 'lib/saddle/middleware/authentication/oauth2.rb', line 13

def initialize(app, key_name='access_token')
  super(app)
  @key_name = key_name
end

Instance Method Details

#call(env) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/saddle/middleware/authentication/oauth2.rb', line 18

def call(env)
  if env[:request][:client_options][@key_name.to_sym]
    new_query = []
    new_query << env[:url].query if env[:url].query
    new_query << "#{@key_name}=#{CGI.escape(env[:request][:client_options][@key_name.to_sym].to_s)}"
    env[:url].query = new_query.join('&')
  end

  @app.call(env)
end