class WebAuthn::AuthenticatorData
Attributes
attested_credential_data[RW]
flags[RW]
raw[RW]
rp_id_hash[RW]
sign_count[RW]
Public Class Methods
decode(auth_data)
click to toggle source
# File lib/web_authn/authenticator_data.rb, line 18 def decode(auth_data) rp_id_hash, _flags_, sign_count = [ auth_data.byteslice(0...32), auth_data.byteslice(32), auth_data.byteslice(33...37) ] flags = Flags.decode(_flags_) attested_credential_data = if flags.at? if flags.ex? raise NotImplementedError, 'Extension Data Not Supported Yet' else AttestedCredentialData.decode auth_data.byteslice(37..-1) end else nil end new( rp_id_hash: Base64.urlsafe_encode64(rp_id_hash, padding: false), flags: flags, sign_count: sign_count.unpack('N1').first, attested_credential_data: attested_credential_data, raw: auth_data ) end
new(rp_id_hash:, flags:, sign_count:, raw:, attested_credential_data: nil)
click to toggle source
# File lib/web_authn/authenticator_data.rb, line 9 def initialize(rp_id_hash:, flags:, sign_count:, raw:, attested_credential_data: nil) self.rp_id_hash = rp_id_hash self.flags = flags self.sign_count = sign_count self.raw = raw self.attested_credential_data = attested_credential_data end