Class: Her::Middleware::OAuthProviderHeader
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- Her::Middleware::OAuthProviderHeader
- Defined in:
- lib/her/middleware/o_auth_provider_header.rb
Overview
OAuthProviderHeader
Class Method Summary collapse
- .add_header(headers) ⇒ Object
- .password ⇒ Object
- .password_params ⇒ Object
- .refresh_token ⇒ Object
- .refresh_token_params ⇒ Object
- .token_url ⇒ Object
Instance Method Summary collapse
-
#call(env) ⇒ Object
end static.
Class Method Details
.add_header(headers) ⇒ Object
8 9 10 |
# File 'lib/her/middleware/o_auth_provider_header.rb', line 8 def add_header(headers) headers.merge! Authorization: "Bearer #{refresh_token['access_token']}" end |
.password ⇒ Object
42 43 44 45 46 |
# File 'lib/her/middleware/o_auth_provider_header.rb', line 42 def password uri = URI("#{token_url}?#{URI.encode_www_form(password_params)}") res = Net::HTTP.post_form(uri, {}) JSON.parse(res.body) end |
.password_params ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/her/middleware/o_auth_provider_header.rb', line 27 def password_params { client_id: Parasut..client_id, client_secret: Parasut..client_secret, username: Parasut..username, password: Parasut..password, grant_type: 'password', redirect_uri: 'urn:ietf:wg:oauth:2.0:oob' } end |
.refresh_token ⇒ Object
12 13 14 15 16 |
# File 'lib/her/middleware/o_auth_provider_header.rb', line 12 def refresh_token uri = URI("#{token_url}?#{URI.encode_www_form(refresh_token_params)}") res = Net::HTTP.post_form(uri, {}) JSON.parse(res.body) end |
.refresh_token_params ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/her/middleware/o_auth_provider_header.rb', line 18 def refresh_token_params { client_id: Parasut..client_id, client_secret: Parasut..client_secret, grant_type: 'refresh_token', refresh_token: password['refresh_token'] } end |
.token_url ⇒ Object
38 39 40 |
# File 'lib/her/middleware/o_auth_provider_header.rb', line 38 def token_url "#{Parasut..api_base_url}/oauth/token" end |
Instance Method Details
#call(env) ⇒ Object
end static
53 54 55 56 |
# File 'lib/her/middleware/o_auth_provider_header.rb', line 53 def call(env) Her::Middleware::OAuthProviderHeader.add_header(env[:request_headers]) @app.call(env) end |