# frozen_string_literal: true module Gitlab module Auth class U2fWebauthnConverter def initialize(u2f_registration) @u2f_registration = u2f_registration end def convert now = Time.current converted_credential = WebAuthn::U2fMigrator.new( app_id: Gitlab.config.gitlab.url, certificate: u2f_registration.certificate, key_handle: u2f_registration.key_handle, public_key: u2f_registration.public_key, counter: u2f_registration.counter ).credential { credential_xid: Base64.strict_encode64(converted_credential.id), public_key: Base64.strict_encode64(converted_credential.public_key), counter: u2f_registration.counter || 0, name: u2f_registration.name || '', user_id: u2f_registration.user_id, u2f_registration_id: u2f_registration.id, created_at: now, updated_at: now } end private attr_reader :u2f_registration end end end