Module: IosAppAttest

Defined in:
lib/ios_app_attest.rb,
lib/ios_app_attest/errors.rb,
lib/ios_app_attest/version.rb,
lib/ios_app_attest/verifier.rb,
lib/ios_app_attest/validators.rb,
lib/ios_app_attest/configuration.rb,
lib/ios_app_attest/nonce_generator.rb,
lib/ios_app_attest/validators/utils.rb,
lib/ios_app_attest/validators/base_validator.rb,
lib/ios_app_attest/validators/challenge_validator.rb,
lib/ios_app_attest/validators/attestation_validator.rb,
lib/ios_app_attest/validators/certificate_validator.rb,
lib/ios_app_attest/validators/app_identity_validator.rb

Overview

Error classes for iOS App Attest verification

This file defines a hierarchy of error classes for the iOS App Attest verification process. The hierarchy is designed to allow for specific error handling based on the type of error that occurred during verification.

The main error categories are:

  • ConfigurationError: For configuration-related errors

  • VerificationError: Base class for all verification errors

    • NonceError: For nonce-related errors

    • CertificateError: For certificate-related errors

    • ChallengeError: For challenge-related errors

    • AppIdentityError: For app identity-related errors

    • AttestationError: For attestation format-related errors

Each category has specific subclasses for more granular error handling.

Defined Under Namespace

Modules: Validators Classes: AppIdentityError, AttestationError, CertificateError, ChallengeError, Configuration, ConfigurationError, Error, NonceError, NonceGenerator, VerificationError, Verifier

Constant Summary collapse

VERSION =
"0.1.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



33
34
35
# File 'lib/ios_app_attest.rb', line 33

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Configuration

Configure the IosAppAttest module

This method allows configuration of the IosAppAttest module using a block. It yields the configuration object to the block, allowing for setting various configuration parameters.

Examples:

IosAppAttest.configure do |config|
  config.app_id = "TEAM123.com.example.app"
  config.encryption_key = SecureRandom.random_bytes(32)
end
# Note: App Attest OID is hardcoded in the gem

Yields:



50
51
52
53
54
# File 'lib/ios_app_attest.rb', line 50

def configure
  self.configuration ||= Configuration.new
  yield(configuration) if block_given?
  configuration
end