Class: DeviseMultiFactor::RememberTFACookie

Inherits:
Object
  • Object
show all
Defined in:
lib/devise_multi_factor/remember_tfa_cookie.rb

Instance Method Summary collapse

Instance Method Details



4
5
6
7
8
# File 'lib/devise_multi_factor/remember_tfa_cookie.rb', line 4

def generate_cookie_data(resource, expires_at:)
  { 'data' => generate_resource_data(resource) }
    .merge('expires_at' => expires_at)
    .to_json
end

Returns:

  • (Boolean)


10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/devise_multi_factor/remember_tfa_cookie.rb', line 10

def valid_cookie_data?(resource, cookie_data)
  return false if cookie_data.nil?

  parsed_data = JSON.parse(cookie_data)
  expires_at = parse_time(parsed_data['expires_at'])
  return false if expires_at.nil? || expires_at < Time.current

  expected_data = generate_resource_data(resource)
  parsed_data['data'] == expected_data
rescue JSON::ParserError
  false
end