Sha256: b898de38a1f510d78d36e6aa9b83c6874b32b567aebffef51ae61adc6cb1e917

Contents?: true

Size: 716 Bytes

Versions: 5

Compression:

Stored size: 716 Bytes

Contents

# frozen_string_literal: true

require "webauthn/authenticator_attestation_response"
require "webauthn/public_key_credential"

module WebAuthn
  class PublicKeyCredentialWithAttestation < PublicKeyCredential
    def self.response_class
      WebAuthn::AuthenticatorAttestationResponse
    end

    def verify(challenge, user_presence: nil, user_verification: nil)
      super

      response.verify(encoder.decode(challenge), user_presence: user_presence, user_verification: user_verification)

      true
    end

    def public_key
      if raw_public_key
        encoder.encode(raw_public_key)
      end
    end

    def raw_public_key
      response&.authenticator_data&.credential&.public_key
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
webauthn-3.4.0 lib/webauthn/public_key_credential_with_attestation.rb
webauthn-3.3.0 lib/webauthn/public_key_credential_with_attestation.rb
webauthn-3.2.2 lib/webauthn/public_key_credential_with_attestation.rb
webauthn-3.2.1 lib/webauthn/public_key_credential_with_attestation.rb
webauthn-3.2.0 lib/webauthn/public_key_credential_with_attestation.rb