Module: Wsaa

Defined in:
lib/wsaa.rb,
lib/wsaa/tra.rb,
lib/wsaa/client.rb,
lib/wsaa/errors.rb,
lib/wsaa/version.rb,
lib/wsaa/cms_signer.rb,
lib/wsaa/credentials.rb,
lib/wsaa/configuration.rb,
lib/wsaa/credential_store.rb

Overview

Main module for WSAA authentication.

Provides a simple interface to authenticate with AFIP's WSAA service.

Examples:

Configure and authenticate

Wsaa.configure do |config|
  config.pkey = 'path/to/private_key'
  config.cert = 'path/to/certificate'
  config.service = 'wsfe'
  config.environment = :testing
end

credentials = Wsaa.authenticate
credentials.token  # => "PD94bWwg..."
credentials.sign   # => "GGG2XMe..."

Defined Under Namespace

Classes: AuthenticationError, Client, CmsSigner, Configuration, ConfigurationError, CredentialStore, Credentials, Error, SigningError, Tra

Constant Summary collapse

VERSION =

Current version of the wsaa-ruby gem.

'0.2.1'

Class Method Summary collapse

Class Method Details

.authenticateCredentials

Authenticates with WSAA using cached credentials if available.

Returns:

Raises:



56
57
58
# File 'lib/wsaa.rb', line 56

def authenticate
  client.authenticate
end

.authenticate!Credentials

Authenticates with WSAA, ignoring any cached credentials.

Returns:

Raises:



66
67
68
# File 'lib/wsaa.rb', line 66

def authenticate!
  client.authenticate!
end

.configurationConfiguration

Returns the current configuration.

Returns:



46
47
48
# File 'lib/wsaa.rb', line 46

def configuration
  @configuration ||= Configuration.new
end

.configure {|Configuration| ... } ⇒ Object

Configures the WSAA client.

Examples:

Wsaa.configure do |config|
  config.pkey = 'path/to/key'
  config.cert = 'path/to/cert'
end

Yields:



38
39
40
# File 'lib/wsaa.rb', line 38

def configure
  yield(configuration)
end

.reset!Object

Resets the configuration and client state.



72
73
74
75
# File 'lib/wsaa.rb', line 72

def reset!
  @configuration = nil
  @client = nil
end