Class: Comet::WebAuthnPublicKeyCredentialRequestOptions

Inherits:
Object
  • Object
show all
Defined in:
lib/comet/models/web_authn_public_key_credential_request_options.rb

Overview

WebAuthnPublicKeyCredentialRequestOptions is a typed class wrapper around the underlying Comet Server API data structure.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeWebAuthnPublicKeyCredentialRequestOptions

Returns a new instance of WebAuthnPublicKeyCredentialRequestOptions.



38
39
40
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 38

def initialize
  clear
end

Instance Attribute Details

#allowed_credentialsObject

Returns the value of attribute allowed_credentials.



27
28
29
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 27

def allowed_credentials
  @allowed_credentials
end

#challengeObject

When this field is expressed as a WebAuthnPublicKeyCredentialRequestOptions class instance, this field may contain binary data. When this field is expressed as JSON, the field is expressed as base64. The marshalling methods on this class will automatically perform base64 conversion as necessary.



18
19
20
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 18

def challenge
  @challenge
end

#extensionsObject

Returns the value of attribute extensions.



33
34
35
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 33

def extensions
  @extensions
end

#relying_party_idObject

Returns the value of attribute relying_party_id.



24
25
26
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 24

def relying_party_id
  @relying_party_id
end

#timeoutObject

Returns the value of attribute timeout.



21
22
23
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 21

def timeout
  @timeout
end

#unknown_json_fieldsObject

Returns the value of attribute unknown_json_fields.



36
37
38
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 36

def unknown_json_fields
  @unknown_json_fields
end

#user_verificationObject

Returns the value of attribute user_verification.



30
31
32
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 30

def user_verification
  @user_verification
end

Instance Method Details

#clearObject



42
43
44
45
46
47
48
49
50
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 42

def clear
  @challenge = []
  @timeout = 0
  @relying_party_id = ''
  @allowed_credentials = []
  @user_verification = ''
  @extensions = {}
  @unknown_json_fields = {}
end

#from_hash(obj) ⇒ Object

Parameters:

  • obj (Hash)

    The complete object as a Ruby hash

Raises:

  • (TypeError)


60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 60

def from_hash(obj)
  raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash

  obj.each do |k, v|
    case k
    when 'challenge'
      @challenge = Base64.decode64(v)
    when 'timeout'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @timeout = v
    when 'rpId'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @relying_party_id = v
    when 'allowCredentials'
      if v.nil?
        @allowed_credentials = []
      else
        @allowed_credentials = Array.new(v.length)
        v.each_with_index do |v1, i1|
          @allowed_credentials[i1] = Comet::WebAuthnCredentialDescriptor.new
          @allowed_credentials[i1].from_hash(v1)
        end
      end
    when 'userVerification'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @user_verification = v
    when 'extensions'
      @extensions = {}
      if v.nil?
        @extensions = {}
      else
        v.each do |k1, v1|
          @extensions[k1] = v1
        end
      end
    else
      @unknown_json_fields[k] = v
    end
  end
end

#from_json(json_string) ⇒ Object

Parameters:

  • json_string (String)

    The complete object in JSON format

Raises:

  • (TypeError)


53
54
55
56
57
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 53

def from_json(json_string)
  raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String

  from_hash(JSON.parse(json_string))
end

#to_hHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



130
131
132
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 130

def to_h
  to_hash
end

#to_hashHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 105

def to_hash
  ret = {}
  ret['challenge'] = Base64.strict_encode64(@challenge)
  unless @timeout.nil?
    ret['timeout'] = @timeout
  end
  unless @relying_party_id.nil?
    ret['rpId'] = @relying_party_id
  end
  unless @allowed_credentials.nil?
    ret['allowCredentials'] = @allowed_credentials
  end
  unless @user_verification.nil?
    ret['userVerification'] = @user_verification
  end
  unless @extensions.nil?
    ret['extensions'] = @extensions
  end
  @unknown_json_fields.each do |k, v|
    ret[k] = v
  end
  ret
end

#to_json(options = {}) ⇒ String

Returns The complete object as a JSON string.

Returns:

  • (String)

    The complete object as a JSON string



135
136
137
# File 'lib/comet/models/web_authn_public_key_credential_request_options.rb', line 135

def to_json(options = {})
  to_hash.to_json(options)
end