Module: BSV::Auth

Defined in:
lib/bsv/auth.rb,
lib/bsv/auth/peer.rb,
lib/bsv/auth/nonce.rb,
lib/bsv/auth/transport.rb,
lib/bsv/auth/auth_error.rb,
lib/bsv/auth/auth_fetch.rb,
lib/bsv/auth/certificate.rb,
lib/bsv/auth/auth_headers.rb,
lib/bsv/auth/auth_payload.rb,
lib/bsv/auth/peer_session.rb,
lib/bsv/auth/auth_middleware.rb,
lib/bsv/auth/session_manager.rb,
lib/bsv/auth/master_certificate.rb,
lib/bsv/auth/validate_certificates.rb,
lib/bsv/auth/verifiable_certificate.rb,
lib/bsv/auth/simplified_fetch_transport.rb,
lib/bsv/auth/get_verifiable_certificates.rb

Defined Under Namespace

Modules: AuthHeaders, AuthPayload, GetVerifiableCertificates, Nonce, Transport, ValidateCertificates Classes: AuthError, AuthFetch, AuthMiddleware, AuthResponse, Certificate, MasterCertificate, Peer, PeerSession, SessionManager, SimplifiedFetchTransport, VerifiableCertificate

Constant Summary collapse

AUTH_VERSION =

Protocol version

'0.1'
MSG_INITIAL_REQUEST =

Message type string constants (matching ts-sdk/go-sdk)

'initialRequest'
MSG_INITIAL_RESPONSE =
'initialResponse'
MSG_CERT_REQUEST =
'certificateRequest'
MSG_CERT_RESPONSE =
'certificateResponse'
MSG_GENERAL =
'general'

Class Method Summary collapse

Class Method Details

.get_verifiable_certificates(wallet, requested_certificates, verifier_identity_key) ⇒ Array<VerifiableCertificate>

Retrieves verifiable certificates from a wallet for presentation to a verifier.

Delegates to BSV::Auth::GetVerifiableCertificates#get_verifiable_certificates.

Parameters:

  • wallet (#list_certificates, #prove_certificate)

    the subject’s wallet

  • requested_certificates (Hash)

    certifiers and type-to-fields mapping

  • verifier_identity_key (String)

    verifier’s compressed public key hex

Returns:



53
54
55
# File 'lib/bsv/auth.rb', line 53

def self.get_verifiable_certificates(wallet, requested_certificates, verifier_identity_key)
  GetVerifiableCertificates.get_verifiable_certificates(wallet, requested_certificates, verifier_identity_key)
end

.validate_certificates(wallet, message, requested_certificates = nil) ⇒ Object

Validates certificates attached to an incoming authenticated message.

Delegates to BSV::Auth::ValidateCertificates#validate_certificates.

Parameters:

  • wallet (#verify_signature, #decrypt)

    the verifier’s wallet

  • message (Hash)

    incoming authenticated message

  • requested_certificates (Hash, nil) (defaults to: nil)

    optional certifier/type filter

Raises:



41
42
43
# File 'lib/bsv/auth.rb', line 41

def self.validate_certificates(wallet, message, requested_certificates = nil)
  ValidateCertificates.validate_certificates(wallet, message, requested_certificates)
end