Module: OAuth2

Defined in:
lib/oauth2.rb,
lib/oauth2/error.rb,
lib/oauth2/client.rb,
lib/oauth2/version.rb,
lib/oauth2/response.rb,
lib/oauth2/access_token.rb,
lib/oauth2/authenticator.rb,
lib/oauth2/strategy/base.rb,
lib/oauth2/auth_sanitizer.rb,
lib/oauth2/strategy/implicit.rb,
lib/oauth2/strategy/password.rb,
lib/oauth2/strategy/assertion.rb,
lib/oauth2/strategy/auth_code.rb,
lib/oauth2/filtered_attributes.rb,
lib/oauth2/sanitized_log_formatter.rb,
lib/oauth2/strategy/client_credentials.rb

Overview

simplecov:enable

Defined Under Namespace

Modules: Strategy, Version Classes: AccessToken, Authenticator, Client, Error, Response, SanitizedLogFormatter

Constant Summary collapse

OAUTH_DEBUG =

When true, enables verbose HTTP logging via Faraday’s logger middleware.
Controlled by the OAUTH_DEBUG environment variable. Any case-insensitive
value equal to “true” will enable debugging.

Returns:

  • (Boolean)
ENV.fetch("OAUTH_DEBUG", "false").casecmp("true").zero?
DEFAULT_CONFIG =

Default configuration values for the oauth2 library.

Existing objects and logger wrappers snapshot filtering configuration during
initialization. Changing these config values later affects only newly
initialized objects and debug loggers.

Examples:

Toggle warnings

OAuth2.configure do |config|
  config[:silence_extra_tokens_warning] = false
  config[:silence_no_tokens_warning] = false
end

Customize filtered output markers and debug-log value filtering by key name

OAuth2.configure do |config|
  config[:filtered_label] = "[REDACTED]"
  config[:filtered_debug_keys] += ["client_assertion"]
end

Returns:

  • (SnakyHash::SymbolKeyed) —

    A mutable Hash-like config with symbol keys

SnakyHash::SymbolKeyed.new(
  silence_extra_tokens_warning: true,
  silence_no_tokens_warning: true,
  filtered_label: "[FILTERED]",
  filtered_debug_keys: %w[
    access_token
    refresh_token
    id_token
    client_secret
    assertion
    code_verifier
    token
    password
    client_assertion
    device_code
    subject_token
    actor_token
    accessToken
    refreshToken
    idToken
  ]
)
CONFIG =

The current runtime configuration for the library.

Returns:

  • (SnakyHash::SymbolKeyed)
DEFAULT_CONFIG.dup
ConnectionError =
Class.new(Faraday::ConnectionFailed)
TimeoutError =
Class.new(Faraday::TimeoutError)
VERSION =

Current gem version exposed at the traditional constant location.

Version::VERSION
AUTH_SANITIZER =
begin
  auth_sanitizer_requirement = Gem::Requirement.new("~> 0.2", ">= 0.2.2")
  auth_sanitizer_loader_namespace = AnonymousLoader.load_path(
    gem_name: "auth-sanitizer",
    require_path: "auth_sanitizer/loader.rb",
    version_requirement: auth_sanitizer_requirement,
    version_file: "auth/sanitizer/version.rb"
  )

  auth_sanitizer_loader_namespace.
    const_get(:AuthSanitizer).
    const_get(:Loader).
    load_isolated
end
FilteredAttributes =

Permanent alias for {OAuth2::AUTH_SANITIZER::FilteredAttributes}.

This constant is intentionally kept in the OAuth2 namespace because it
was part of the public API before the implementation was extracted into the
auth-sanitizer gem. It will not be deprecated or removed.

OAuth2::AUTH_SANITIZER::FilteredAttributes

Class Method Summary collapse

Class Method Details

.config ⇒ Object



88
89
90
# File 'lib/oauth2.rb', line 88

def config
  CONFIG
end

.configure {|config| ... } ⇒ void

This method returns an undefined value.

Configure global library behavior.

Yields the mutable configuration object so callers can update settings.

Yield Parameters:

  • config (SnakyHash::SymbolKeyed) —

    the configuration object



98
99
100
# File 'lib/oauth2.rb', line 98

def configure
  yield config
end