class WebAuthn::ClientData
def challenge
def challenge WebAuthn.standard_encoder.decode(data["challenge"]) end
def data
def data @data ||= begin if client_data_json JSON.parse(client_data_json) else raise ClientDataMissingError, "Client Data JSON is missing" end end end
def hash
def hash OpenSSL::Digest::SHA256.digest(client_data_json) end
def initialize(client_data_json)
def initialize(client_data_json) @client_data_json = client_data_json end
def origin
def origin data["origin"] end
def token_binding
def token_binding data["tokenBinding"] end
def type
def type data["type"] end
def valid_token_binding_format?
def valid_token_binding_format? if token_binding token_binding.is_a?(Hash) && VALID_TOKEN_BINDING_STATUSES.include?(token_binding["status"]) else true end end