Sha256: 834b7810e8633f7eea07a6d02dbf03a481c9a1888e2d0071f77a118b5bbc20f3

Contents?: true

Size: 1.46 KB

Versions: 4

Compression:

Stored size: 1.46 KB

Contents

# typed: ignore
# frozen_string_literal: true

module Setsuzoku
  module Service
    module WebService
      module AuthStrategies
        # The API OAuth Authentication Interface definition.
        # Any Plugin that implements this must implement all methods required for OAuth.
        #
        # Defines all necessary methods for the basic auth strategy.
        class BasicAuthStrategy < WebService::AuthStrategy
          extend T::Sig
          extend T::Helpers

          def self.required_instance_methods
            []
          end

          def self.credential_class
            Setsuzoku::Service::WebService::Credentials::BasicAuthCredential
          end

          # OAuth API authentication headers.
          #
          # @return [Hash(String)] the formatted authorization headers for an OAuth request
          sig { override.returns(T::Hash[Symbol, T.untyped]) }
          def auth_headers
            {
              authorization: {
                basic_auth: {
                  username: self.credential.username,
                  password: self.credential.password
                }
              }
            }
          end



          # Test if the auth credentials are valid.
          #
          # @ return [Boolean]
          sig { override.returns(T::Boolean) }
          def auth_credential_valid?
            self.plugin.respond_to?(:credentials_valid?) ? self.plugin.credentials_valid? : true
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
setsuzoku-0.15.7 lib/setsuzoku/service/web_service/auth_strategies/basic_auth_strategy.rb
setsuzoku-0.15.6 lib/setsuzoku/service/web_service/auth_strategies/basic_auth_strategy.rb
setsuzoku-0.15.5 lib/setsuzoku/service/web_service/auth_strategies/basic_auth_strategy.rb
setsuzoku-0.15.4 lib/setsuzoku/service/web_service/auth_strategies/basic_auth_strategy.rb