Class: Streambird::Api::Otp

Inherits:
Struct
  • Object
show all
Defined in:
lib/streambird/api/otp.rb

Defined Under Namespace

Classes: Email, Sms

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#clientObject

Returns the value of attribute client

Returns:

  • (Object)

    the current value of client



3
4
5
# File 'lib/streambird/api/otp.rb', line 3

def client
  @client
end

Instance Method Details

#emailObject



5
6
7
# File 'lib/streambird/api/otp.rb', line 5

def email
  @email ||= Streambird::Api::Otp::Email.new(client)
end

#smsObject



9
10
11
# File 'lib/streambird/api/otp.rb', line 9

def sms
  @sms ||= Streambird::Api::Otp::Sms.new(client)
end

#verify(otp:, method_id:, session_token: nil, session_expires_in: nil, device_fingerprint: {}) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/streambird/api/otp.rb', line 13

def verify(otp:,
  method_id:,
  session_token: nil,
  session_expires_in: nil,
  device_fingerprint: {}
)
  req = {
    'otp': otp,
    'method_id': method_id,
  }

  req['device_fingerprint'] = device_fingerprint if device_fingerprint != {}
  req['session_expires_in'] = session_expires_in if !session_expires_in.nil?
  req['session_token'] = session_token if !session_token.nil?
  response = client.post('auth/otps/verify', req)
  json_body = JSON.parse(response.body, symbolize_names: true)
  return json_body
end