securenative 0.1.5 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +49 -0
- data/.github/workflows/publish.yml +60 -0
- data/.github/workflows/test.yml +48 -0
- data/.gitignore +3 -1
- data/.rakeTasks +7 -0
- data/.rspec +3 -0
- data/Gemfile +6 -1
- data/Gemfile.lock +254 -17
- data/README.md +140 -67
- data/Rakefile +5 -1
- data/lib/api_manager.rb +39 -0
- data/lib/config/configuration_builder.rb +26 -0
- data/lib/config/configuration_manager.rb +55 -0
- data/lib/config/securenative_options.rb +22 -0
- data/lib/context/hanami_context.rb +42 -0
- data/lib/context/rails_context.rb +44 -0
- data/lib/context/securenative_context.rb +67 -0
- data/lib/context/sinatra_context.rb +42 -0
- data/lib/enums/api_route.rb +6 -0
- data/lib/enums/event_types.rb +23 -0
- data/lib/enums/failover_strategy.rb +6 -0
- data/lib/enums/risk_level.rb +7 -0
- data/lib/errors/securenative_config_error.rb +4 -0
- data/lib/errors/securenative_http_error.rb +4 -0
- data/lib/errors/securenative_invalid_options_error.rb +4 -0
- data/lib/errors/securenative_invalid_uri_error.rb +4 -0
- data/lib/errors/securenative_parse_error.rb +4 -0
- data/lib/errors/securenative_sdk_Illegal_state_error.rb +4 -0
- data/lib/errors/securenative_sdk_error.rb +4 -0
- data/lib/event_manager.rb +157 -0
- data/lib/http/secure_native_http_response.rb +12 -0
- data/lib/http/securenative_http_client.rb +50 -0
- data/lib/models/client_token.rb +12 -0
- data/lib/models/device.rb +10 -0
- data/lib/models/event_options.rb +37 -0
- data/lib/models/request_context.rb +18 -0
- data/lib/models/request_options.rb +12 -0
- data/lib/models/sdk_event.rb +40 -0
- data/lib/models/user_traits.rb +13 -0
- data/lib/models/verify_result.rb +16 -0
- data/lib/securenative.rb +69 -25
- data/lib/utils/date_utils.rb +9 -0
- data/lib/utils/encryption_utils.rb +49 -0
- data/lib/utils/ip_utils.rb +23 -0
- data/lib/utils/request_utils.rb +54 -0
- data/lib/utils/secure_native_logger.rb +44 -0
- data/lib/utils/signature_utils.rb +16 -0
- data/lib/utils/utils.rb +9 -0
- data/lib/utils/version_utils.rb +11 -0
- data/out/production/securenative-ruby/api_manager.rb +31 -0
- data/out/production/securenative-ruby/config/configuration_builder.rb +30 -0
- data/out/production/securenative-ruby/config/configuration_manager.rb +55 -0
- data/out/production/securenative-ruby/config/securenative_options.rb +20 -0
- data/out/production/securenative-ruby/context/securenative_context.rb +40 -0
- data/out/production/securenative-ruby/enums/api_route.rb +6 -0
- data/out/production/securenative-ruby/enums/event_types.rb +23 -0
- data/out/production/securenative-ruby/enums/failover_strategy.rb +6 -0
- data/out/production/securenative-ruby/enums/risk_level.rb +7 -0
- data/out/production/securenative-ruby/errors/securenative_config_error.rb +4 -0
- data/out/production/securenative-ruby/errors/securenative_http_error.rb +4 -0
- data/out/production/securenative-ruby/errors/securenative_invalid_options_error.rb +4 -0
- data/out/production/securenative-ruby/errors/securenative_invalid_uri_error.rb +4 -0
- data/out/production/securenative-ruby/errors/securenative_parse_error.rb +4 -0
- data/out/production/securenative-ruby/errors/securenative_sdk_Illegal_state_error.rb +4 -0
- data/out/production/securenative-ruby/errors/securenative_sdk_error.rb +4 -0
- data/out/production/securenative-ruby/event_manager.rb +156 -0
- data/out/production/securenative-ruby/event_options.rb +32 -0
- data/out/production/securenative-ruby/http/http_response.rb +12 -0
- data/out/production/securenative-ruby/http/securenative_http_client.rb +32 -0
- data/out/production/securenative-ruby/models/client_token.rb +12 -0
- data/out/production/securenative-ruby/models/device.rb +10 -0
- data/out/production/securenative-ruby/models/event_options.rb +15 -0
- data/out/production/securenative-ruby/models/request_context.rb +18 -0
- data/out/production/securenative-ruby/models/request_options.rb +12 -0
- data/out/production/securenative-ruby/models/sdk_event.rb +33 -0
- data/out/production/securenative-ruby/models/user_traits.rb +13 -0
- data/out/production/securenative-ruby/models/verify_result.rb +12 -0
- data/out/production/securenative-ruby/securenative.rb +91 -0
- data/out/production/securenative-ruby/utils/date_utils.rb +9 -0
- data/out/production/securenative-ruby/utils/encryption_utils.rb +35 -0
- data/out/production/securenative-ruby/utils/ip_utils.rb +23 -0
- data/out/production/securenative-ruby/utils/request_utils.rb +23 -0
- data/out/production/securenative-ruby/utils/secure_native_logger.rb +44 -0
- data/out/production/securenative-ruby/utils/signature_utils.rb +16 -0
- data/out/production/securenative-ruby/utils/utils.rb +9 -0
- data/out/production/securenative-ruby/utils/version_utils.rb +12 -0
- data/out/test/securenative-ruby/spec_api_manager.rb +81 -0
- data/out/test/securenative-ruby/spec_context_builder.rb +69 -0
- data/out/test/securenative-ruby/spec_date_utils.rb +13 -0
- data/out/test/securenative-ruby/spec_encryption_utils.rb +26 -0
- data/out/test/securenative-ruby/spec_event_manager.rb +59 -0
- data/out/test/securenative-ruby/spec_helper.rb +20 -0
- data/out/test/securenative-ruby/spec_ip_utils.rb +41 -0
- data/out/test/securenative-ruby/spec_securenative.rb +65 -0
- data/out/test/securenative-ruby/spec_securenative_http_client.rb +23 -0
- data/out/test/securenative-ruby/spec_signature_utils.rb +18 -0
- data/securenative.gemspec +4 -4
- metadata +96 -15
- data/lib/securenative/config.rb +0 -9
- data/lib/securenative/event_manager.rb +0 -88
- data/lib/securenative/event_options.rb +0 -86
- data/lib/securenative/event_type.rb +0 -21
- data/lib/securenative/http_client.rb +0 -20
- data/lib/securenative/secure_native_sdk.rb +0 -62
- data/lib/securenative/securenative_options.rb +0 -17
- data/lib/securenative/sn_exception.rb +0 -5
- data/lib/securenative/utils.rb +0 -41
@@ -1,17 +0,0 @@
|
|
1
|
-
require_relative 'config'
|
2
|
-
|
3
|
-
class SecureNativeOptions
|
4
|
-
def initialize(api_url: Config::API_URL_PROD, interval: 1000, max_events: 1000, timeout: 1500, auto_send: true)
|
5
|
-
@timeout = timeout
|
6
|
-
@max_events = max_events
|
7
|
-
@api_url = api_url
|
8
|
-
@interval = interval
|
9
|
-
@auto_send = auto_send
|
10
|
-
end
|
11
|
-
|
12
|
-
attr_reader :timeout
|
13
|
-
attr_reader :max_events
|
14
|
-
attr_reader :api_url
|
15
|
-
attr_reader :interval
|
16
|
-
attr_reader :auto_send
|
17
|
-
end
|
data/lib/securenative/utils.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
require "base64"
|
2
|
-
require "json"
|
3
|
-
require 'openssl'
|
4
|
-
|
5
|
-
module Utils
|
6
|
-
def self.verify_signature(secret, text_body, header_signature)
|
7
|
-
begin
|
8
|
-
key = secret.encode('utf-8')
|
9
|
-
body = text_body.encode('utf-8')
|
10
|
-
calculated_signature = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha512'), key, body)
|
11
|
-
calculated_signature.eql? header_signature
|
12
|
-
rescue Exception
|
13
|
-
return false
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.parse_cookie(cookie = nil)
|
18
|
-
fp = ""
|
19
|
-
cid = ""
|
20
|
-
unless cookie
|
21
|
-
return fp, cid
|
22
|
-
end
|
23
|
-
|
24
|
-
begin
|
25
|
-
decoded_cookie = Base64.decode64(cookie)
|
26
|
-
unless decoded_cookie
|
27
|
-
decoded_cookie = "{}"
|
28
|
-
end
|
29
|
-
jsonified = JSON.generate(decoded_cookie)
|
30
|
-
if jsonified["fp"]
|
31
|
-
fp = jsonified["fp"]
|
32
|
-
end
|
33
|
-
if jsonified["cid"]
|
34
|
-
cid = jsonified["cid"]
|
35
|
-
end
|
36
|
-
rescue Exception
|
37
|
-
ensure
|
38
|
-
return fp, cid
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|