Class: Selenium::WebDriver::Credential
- Inherits:
 - 
      Object
      
        
- Object
 - Selenium::WebDriver::Credential
 
 
- Defined in:
 - lib/selenium/webdriver/common/virtual_authenticator/credential.rb
 
Instance Attribute Summary collapse
- 
  
    
      #id  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute id.
 - 
  
    
      #private_key  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute private_key.
 - 
  
    
      #resident_credential  ⇒ Object 
    
    
      (also: #resident_credential?)
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute resident_credential.
 - 
  
    
      #rp_id  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute rp_id.
 - 
  
    
      #sign_count  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute sign_count.
 - 
  
    
      #user_handle  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute user_handle.
 
Class Method Summary collapse
- .decode(base64) ⇒ Object
 - .encode(byte_array) ⇒ Object
 - .from_json(opts) ⇒ Object
 - .non_resident ⇒ Object
 - .resident ⇒ Object
 
Instance Method Summary collapse
- #as_json ⇒ Object private
 - 
  
    
      #initialize(id:, resident_credential:, rp_id:, private_key:, **opts)  ⇒ Credential 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Credential.
 
Constructor Details
#initialize(id:, resident_credential:, rp_id:, private_key:, **opts) ⇒ Credential
Returns a new instance of Credential.
      59 60 61 62 63 64 65 66 67 68  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 59 def initialize(id:, resident_credential:, rp_id:, private_key:, **opts) @id = id @resident_credential = resident_credential @rp_id = rp_id @user_handle = opts.delete(:user_handle) { nil } @private_key = private_key @sign_count = opts.delete(:sign_count) { 0 } raise ArgumentError, "Invalid arguments: #{opts.keys}" unless opts.empty? end  | 
  
Instance Attribute Details
#id ⇒ Object (readonly)
Returns the value of attribute id.
      56 57 58  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 56 def id @id end  | 
  
#private_key ⇒ Object (readonly)
Returns the value of attribute private_key.
      56 57 58  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 56 def private_key @private_key end  | 
  
#resident_credential ⇒ Object (readonly) Also known as: resident_credential?
Returns the value of attribute resident_credential.
      56 57 58  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 56 def resident_credential @resident_credential end  | 
  
#rp_id ⇒ Object (readonly)
Returns the value of attribute rp_id.
      56 57 58  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 56 def rp_id @rp_id end  | 
  
#sign_count ⇒ Object (readonly)
Returns the value of attribute sign_count.
      56 57 58  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 56 def sign_count @sign_count end  | 
  
#user_handle ⇒ Object (readonly)
Returns the value of attribute user_handle.
      56 57 58  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 56 def user_handle @user_handle end  | 
  
Class Method Details
.decode(base64) ⇒ Object
      41 42 43  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 41 def decode(base64) Base64.urlsafe_decode64(base64).unpack('C*') end  | 
  
.encode(byte_array) ⇒ Object
      37 38 39  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 37 def encode(byte_array) Base64.urlsafe_encode64(byte_array&.pack('C*')) end  | 
  
.from_json(opts) ⇒ Object
      45 46 47 48 49 50 51 52 53  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 45 def from_json(opts) user_handle = opts['userHandle'] ? decode(opts['userHandle']) : nil new(id: decode(opts['credentialId']), resident_credential: opts['isResidentCredential'], rp_id: opts['rpId'], private_key: opts['privateKey'], sign_count: opts['signCount'], user_handle: user_handle) end  | 
  
.non_resident ⇒ Object
      33 34 35  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 33 def non_resident(**) Credential.new(resident_credential: false, **) end  | 
  
.resident ⇒ Object
      29 30 31  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 29 def resident(**) Credential.new(resident_credential: true, **) end  | 
  
Instance Method Details
#as_json ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
      74 75 76 77 78 79 80 81 82  | 
    
      # File 'lib/selenium/webdriver/common/virtual_authenticator/credential.rb', line 74 def as_json(*) credential_data = {'credentialId' => Credential.encode(id), 'isResidentCredential' => resident_credential?, 'rpId' => rp_id, 'privateKey' => Credential.encode(private_key), 'signCount' => sign_count} credential_data['userHandle'] = Credential.encode(user_handle) if user_handle credential_data end  |