Class: OmniAuth::Strategies::Datadog
- Inherits:
-
OAuth2
- Object
- OAuth2
- OmniAuth::Strategies::Datadog
- Defined in:
- lib/omniauth/strategies/datadog.rb
Constant Summary collapse
- CLIENT_OPTIONS =
{ site: 'https://app.datadoghq.com', authorize_url: 'oauth2/v1/authorize', token_url: 'oauth2/v1/token', auth_scheme: :request_body }
- VALID_DOMAINS =
[ 'datadoghq.eu', 'datadoghq.com' ]
Instance Method Summary collapse
- #build_access_token ⇒ Object
- #callback_url ⇒ Object
-
#client ⇒ Object
Datadog has a few different domains.
- #raw_info ⇒ Object
Instance Method Details
#build_access_token ⇒ Object
35 36 37 38 |
# File 'lib/omniauth/strategies/datadog.rb', line 35 def build_access_token verifier = request.params["code"] client.auth_code.get_token(verifier, {:redirect_uri => callback_url}.merge(token_params.to_hash(:symbolize_keys => true)), deep_symbolize(.auth_token_params)) end |
#callback_url ⇒ Object
31 32 33 |
# File 'lib/omniauth/strategies/datadog.rb', line 31 def callback_url full_host + callback_path end |
#client ⇒ Object
Datadog has a few different domains.
41 42 43 44 45 |
# File 'lib/omniauth/strategies/datadog.rb', line 41 def client = . ['site'] = request.params['site'] if request.params['site'] && VALID_DOMAINS.any? { |d| request.params['site'].end_with?(d) } ::OAuth2::Client.new(.client_id, .client_secret, deep_symbolize()) end |
#raw_info ⇒ Object
27 28 29 |
# File 'lib/omniauth/strategies/datadog.rb', line 27 def raw_info @raw_info ||= request.params.slice('dd_org_name', 'dd_oid', 'site') end |