Class: OmniAuth::Strategies::Heroku
- Inherits:
-
OAuth2
- Object
- OAuth2
- OmniAuth::Strategies::Heroku
- Defined in:
- lib/omniauth/strategies/heroku.rb
Constant Summary collapse
- AuthUrl =
ENV["HEROKU_AUTH_URL"] || "https://id.heroku.com"
- ApiUrl =
ENV["HEROKU_API_URL"] || "https://api.heroku.com"
Instance Method Summary collapse
- #account_info ⇒ Object
- #heroku_api ⇒ Object
- #missing_client_id? ⇒ Boolean
- #missing_client_secret? ⇒ Boolean
-
#request_phase ⇒ Object
override method in OmniAuth::Strategies::OAuth2 to error when we don’t have a client_id or secret:.
Instance Method Details
#account_info ⇒ Object
59 60 61 |
# File 'lib/omniauth/strategies/heroku.rb', line 59 def account_info @account_info ||= MultiJson.decode(heroku_api.get("/account").body) end |
#heroku_api ⇒ Object
63 64 65 66 67 68 69 70 |
# File 'lib/omniauth/strategies/heroku.rb', line 63 def heroku_api @heroku_api ||= Faraday.new( url: ApiUrl, headers: { "Accept" => "application/vnd.heroku+json; version=3", "Authorization" => "Bearer #{access_token.token}", }) end |
#missing_client_id? ⇒ Boolean
72 73 74 |
# File 'lib/omniauth/strategies/heroku.rb', line 72 def missing_client_id? [nil, ""].include?(.client_id) end |
#missing_client_secret? ⇒ Boolean
76 77 78 |
# File 'lib/omniauth/strategies/heroku.rb', line 76 def missing_client_secret? [nil, ""].include?(.client_secret) end |
#request_phase ⇒ Object
override method in OmniAuth::Strategies::OAuth2 to error when we don’t have a client_id or secret:
49 50 51 52 53 54 55 56 57 |
# File 'lib/omniauth/strategies/heroku.rb', line 49 def request_phase if missing_client_id? fail!(:missing_client_id) elsif missing_client_secret? fail!(:missing_client_secret) else super end end |