Class: OAuth2::Client
- Inherits:
-
Object
- Object
- OAuth2::Client
- Defined in:
- lib/oauth2/client.rb
Instance Attribute Summary collapse
-
#connection ⇒ Object
Returns the value of attribute connection.
-
#id ⇒ Object
Returns the value of attribute id.
-
#options ⇒ Object
Returns the value of attribute options.
-
#secret ⇒ Object
Returns the value of attribute secret.
-
#site ⇒ Object
Returns the value of attribute site.
Class Method Summary collapse
Instance Method Summary collapse
- #access_token_url(params = nil) ⇒ Object
- #authorize_url(params = nil) ⇒ Object
-
#initialize(client_id, client_secret, opts = {}) ⇒ Client
constructor
Instantiate a new OAuth 2.0 client using the client ID and client secret registered to your application.
-
#request(verb, url, params = {}, headers = {}) ⇒ Object
Makes a request relative to the specified site root.
- #web_server ⇒ Object
Constructor Details
#initialize(client_id, client_secret, opts = {}) ⇒ Client
Instantiate a new OAuth 2.0 client using the client ID and client secret registered to your application.
Options:
:site
-
Specify a base URL for your OAuth 2.0 client.
:authorize_path
-
Specify the path to the authorization endpoint.
:authorize_url
-
Specify a full URL of the authorization endpoint.
:access_token_path
-
Specify the path to the access token endpoint.
:access_token_url
-
Specify the full URL of the access token endpoint.
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/oauth2/client.rb', line 30 def initialize(client_id, client_secret, opts = {}) adapter = opts.delete(:adapter) self.id = client_id self.secret = client_secret self.site = opts.delete(:site) if opts[:site] self. = opts self.connection = Faraday::Connection.new(site) if adapter && adapter != :test connection.build { |b| b.adapter(adapter) } end end |
Instance Attribute Details
#connection ⇒ Object
Returns the value of attribute connection.
17 18 19 |
# File 'lib/oauth2/client.rb', line 17 def connection @connection end |
#id ⇒ Object
Returns the value of attribute id.
17 18 19 |
# File 'lib/oauth2/client.rb', line 17 def id @id end |
#options ⇒ Object
Returns the value of attribute options.
17 18 19 |
# File 'lib/oauth2/client.rb', line 17 def @options end |
#secret ⇒ Object
Returns the value of attribute secret.
17 18 19 |
# File 'lib/oauth2/client.rb', line 17 def secret @secret end |
#site ⇒ Object
Returns the value of attribute site.
17 18 19 |
# File 'lib/oauth2/client.rb', line 17 def site @site end |
Class Method Details
.default_connection_adapter ⇒ Object
6 7 8 9 |
# File 'lib/oauth2/client.rb', line 6 def default_connection_adapter warn '[DEPRECATED] OAuth2::Client#default_connection_adapter is deprecated, use Faraday.default_adapter instead. Will be removed in 0.1.0' Faraday.default_adapter end |
.default_connection_adapter=(adapter) ⇒ Object
11 12 13 14 |
# File 'lib/oauth2/client.rb', line 11 def default_connection_adapter=(adapter) warn '[DEPRECATED] OAuth2::Client#default_connection_adapter is deprecated, use Faraday.default_adapter instead. Will be removed in 0.1.0' Faraday.default_adapter = adapter end |
Instance Method Details
#access_token_url(params = nil) ⇒ Object
47 48 49 50 |
# File 'lib/oauth2/client.rb', line 47 def access_token_url(params = nil) path = [:access_token_url] || [:access_token_path] || "/oauth/access_token" connection.build_url(path, params).to_s end |
#authorize_url(params = nil) ⇒ Object
42 43 44 45 |
# File 'lib/oauth2/client.rb', line 42 def (params = nil) path = [:authorize_url] || [:authorize_path] || "/oauth/authorize" connection.build_url(path, params).to_s end |
#request(verb, url, params = {}, headers = {}) ⇒ Object
Makes a request relative to the specified site root.
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/oauth2/client.rb', line 53 def request(verb, url, params = {}, headers = {}) if verb == :get resp = connection.run_request(verb, url, nil, headers) do |req| req.params.update(params) end else resp = connection.run_request(verb, url, params, headers) end case resp.status when 200...201 then ResponseString.new(resp) when 401 e = OAuth2::AccessDenied.new("Received HTTP 401 during request.") e.response = resp raise e else e = OAuth2::HTTPError.new("Received HTTP #{resp.status} during request.") e.response = resp raise e end end |