login_radius 11.3.0 → 11.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1548a06b5a983aa27237e2a227f3c689f14fb510ad380764d93c562c68f60259
4
- data.tar.gz: 4f37e09e9ed84615b939afca5c02ce0f4e20d91b312f665a3dafea42c4bd21cc
3
+ metadata.gz: b0f37dbd647854caec292ac3a27dae1cc46f379843a34f56c923bd92db81e294
4
+ data.tar.gz: cd9f01b10e3f61b63ff6dc8938856a35622f73399b5509b0986f3b4d76d93a5c
5
5
  SHA512:
6
- metadata.gz: e205518ba3bb793bc30745ac85ef18473e7b0af4d8888c7add521d1dfaf6152960715ae2af0ae6848d27e3fa67552fff8227b57f34fa6b41c249377fa91da2ae
7
- data.tar.gz: e6889286f27fcbe71a12e4736015619a2d2472e546217fee7d022d420fbc42ebf9b8907d94265dfc4185f0bfb86f4f9a8d668fe7c678acf1a89ee33d0f8976f0
6
+ metadata.gz: 40f3b4f32ab8fd4e634060e35f3de1c3e3da90f27d6db2fd3f6a51a38f75ca02100f784ca8ecfd41e38fb5e6e9dad749b8038017ab91eacf322d418bc20bb06e
7
+ data.tar.gz: 295da43200cbcbb3d5167386ec9bb67871ce2ba85af8daa49fd8d5cb915c0248bca2d762951c9e0fb90ad2c5b5686cc753ab0c16701909758eadbf5f76502c63
data/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  Install the SDK by adding LoginRadius to your application's `Gemfile`.
4
4
 
5
- ```
6
- gem 'login_radius', '~> 11.3.0'
5
+ ```shell
6
+ gem 'login_radius', '~> 11.4.0'
7
7
  ```
8
8
 
9
9
  Then, run `$ bundle`. A copy of the SDK can also be found on our [Github](https://github.com/LoginRadius/ruby-on-rails-gem/tree/master).
@@ -12,7 +12,7 @@ Then, run `$ bundle`. A copy of the SDK can also be found on our [Github](https:
12
12
 
13
13
  1)Before using any of the functions available in the library, its corresponding module must first define the global constant in `config/application.yml`:
14
14
 
15
- ```
15
+ ```ruby
16
16
  SITE_NAME: "<site name>"
17
17
  API_KEY: "<api-key>"
18
18
  API_SECRET: "<api-secret>"
@@ -26,7 +26,7 @@ Create `login_radius.rb` in `/config/initializers`:
26
26
 
27
27
 
28
28
 
29
- ```
29
+ ```ruby
30
30
  require 'login_radius'
31
31
 
32
32
  ::AccountApi = LoginRadius::AccountApi.new
@@ -279,6 +279,46 @@ module LoginRadius
279
279
  return headers
280
280
  end
281
281
 
282
+ # Local - Generate SOTT:
283
+ # Generates a Secured One Time Token manually.
284
+ #
285
+ # Do not pass the time difference if you are passing start_time & end_time.
286
+ # @params time_difference [Integer] (Optional)The time_difference will be used to set the expiration time of SOTT, If you do not pass time_difference then the default expiration time of SOTT is 10 minutes.
287
+ # @params api_key [String] (Optional) LoginRadius Api Key.
288
+ # @params api_secret [String] (Optional) LoginRadius Api Secret.
289
+ # You can pass the start_time , end_time interval and the SOTT will be valid for this time duration.
290
+ # @params start_time [String] (Optional) The start time of the SOTT.
291
+ # @params end_time [String] (Optional) The end time of the SOTT.
292
+ # @returns sott [String] LoginRadius Secured One Time Token
293
+ def get_sott(time_difference="", api_key="", api_secret="",start_time="",end_time="")
294
+
295
+ key= !isNullOrWhiteSpace(api_key) ? api_key:ENV['API_KEY']
296
+ time_difference= !isNullOrWhiteSpace(time_difference) ? time_difference.to_i : 10
297
+ secret=!isNullOrWhiteSpace(api_secret) ? api_secret:ENV['API_SECRET']
298
+ start_date_time=!isNullOrWhiteSpace(start_time)&&!isNullOrWhiteSpace(end_time)? start_time:Time.now.getutc().strftime('%Y/%m/%d %H:%M:%S')
299
+ end_date_time =!isNullOrWhiteSpace(start_time)&&!isNullOrWhiteSpace(end_time)? end_time:(Time.now.getutc() + (time_difference*60)).strftime('%Y/%m/%d %H:%M:%S')
300
+
301
+
302
+ plain_text = start_date_time + '#' + key + '#' + end_date_time
303
+ iter = 10000
304
+ salt = "\x00\x00\x00\x00\x00\x00\x00\x00"
305
+ key_len = KEY_SIZE / 8
306
+ cipher_key = OpenSSL::PKCS5.pbkdf2_hmac_sha1(secret, salt, iter, key_len)
307
+
308
+ cipher = OpenSSL::Cipher.new('aes-' + KEY_SIZE.to_s + '-cbc')
309
+ cipher.encrypt
310
+ cipher.key = cipher_key
311
+ cipher.iv = INIT_VECTOR
312
+
313
+ encrypted = cipher.update(plain_text) + cipher.final
314
+ encrypted_b64 = Base64.strict_encode64(encrypted)
315
+
316
+ hash = Digest::MD5.hexdigest(encrypted_b64)
317
+ sott = encrypted_b64 + '*' + hash
318
+ return sott
319
+ end
320
+
321
+ # DEPRECATED: Please use get_sott instead.
282
322
  # Local - Generate SOTT:
283
323
  # Generates a Secured One Time Token manually.
284
324
  #
@@ -1,3 +1,3 @@
1
1
  module LoginRadius
2
- VERSION = "11.3.0"
2
+ VERSION = "11.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: login_radius
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.3.0
4
+ version: 11.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - LoginRadius
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-31 00:00:00.000000000 Z
11
+ date: 2022-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler