Class: WebAuthn::FakeAuthenticator::AuthenticatorData

Inherits:
Object
  • Object
show all
Defined in:
lib/webauthn/fake_authenticator/authenticator_data.rb

Constant Summary collapse

AAGUID =
SecureRandom.random_bytes(16)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rp_id_hash:, credential: { id: SecureRandom.random_bytes(16), public_key: OpenSSL::PKey::EC.generate("prime256v1").public_key }, sign_count: 0, user_present: true, user_verified: !user_present,, backup_eligibility: false, backup_state: false, aaguid: AAGUID, extensions: { "fakeExtension" => "fakeExtensionValue" }) ⇒ AuthenticatorData

Returns a new instance of AuthenticatorData.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/webauthn/fake_authenticator/authenticator_data.rb', line 14

def initialize(
  rp_id_hash:,
  credential: {
    id: SecureRandom.random_bytes(16),
    public_key: OpenSSL::PKey::EC.generate("prime256v1").public_key
  },
  sign_count: 0,
  user_present: true,
  user_verified: !user_present,
  backup_eligibility: false,
  backup_state: false,
  aaguid: AAGUID,
  extensions: { "fakeExtension" => "fakeExtensionValue" }
)
  @rp_id_hash = rp_id_hash
  @credential = credential
  @sign_count = sign_count
  @user_present = user_present
  @user_verified = user_verified
  @backup_eligibility = backup_eligibility
  @backup_state = backup_state
  @aaguid = aaguid
  @extensions = extensions
end

Instance Attribute Details

#sign_countObject (readonly)

Returns the value of attribute sign_count.



12
13
14
# File 'lib/webauthn/fake_authenticator/authenticator_data.rb', line 12

def sign_count
  @sign_count
end

Instance Method Details

#serializeObject



39
40
41
# File 'lib/webauthn/fake_authenticator/authenticator_data.rb', line 39

def serialize
  rp_id_hash + flags + serialized_sign_count + attested_credential_data + extension_data
end