Method: Practical::Test::Helpers::Passkey::System::Selenium#create_credential

Defined in:
app/lib/practical/test/helpers/passkey/system/selenium.rb

#create_credential(rp_id:, user_handle: generate_user_handle, id:, keypair:) ⇒ Object



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'app/lib/practical/test/helpers/passkey/system/selenium.rb', line 77

def create_credential(rp_id:, user_handle: generate_user_handle, id:, keypair:)
  private_key = Base64.strict_encode64(keypair.private_to_der)
  decoded_private_key = Base64.strict_decode64(private_key).bytes

  return Selenium::WebDriver::Credential.resident(
    id: id,
    private_key: decoded_private_key,
    rp_id: rp_id,
    user_handle: user_handle
  )

  Selenium::WebDriver::Credential.resident(
    id: generate_credential_id,
    private_key: decoded_private_key,
    rp_id: "localhost",
    user_handle: generate_user_handle
  )

  keypair.public_key.to_bn.to_s(2)
  private_key = keypair.private_key.to_bn.to_s(2)
  return Selenium::WebDriver::Credential.resident(id: id.bytes,
                                                  private_key: private_key.bytes,
                                                  rp_id: rp_id,
                                                  user_handle: user_handle.bytes
                                                 )
end