login-control 0.0.17 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/login_control_module.rb +6 -5
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c994c7999c34ab1e07335a16f36d527834a8591f6848f6009aa894ed5a12076
4
- data.tar.gz: 2822fe19d6389196d1fb487924087d981635b828a176601543f44a606e99292c
3
+ metadata.gz: 0e4c23e8dd34a5d41a6fe9721704245b7558b64b551241d690d855dfeb861ce2
4
+ data.tar.gz: 714cf2f085bac9032caffe95ace58625681d918e494fd7d3fcb275e8b96a2d2b
5
5
  SHA512:
6
- metadata.gz: c8ffc4147cdf9c9ba480fc1e243b37076ef4cc849076ecfe16077104123801452010003817c1d59002b11eadf3be64d42069f680a4d978655735df75f884b02a
7
- data.tar.gz: 70e576d62335077e76f27f9661dfbc7f3d32dd139220e5390abc7d699c8b56c8877c29c5926d374d89e5083508342e4654b50da10c3dacddd3ec779008233427
6
+ metadata.gz: 8ffaf5942442b3446ebb70018d4387bbe40f6319b5a2ea50b4d1475a11d9a788e48d493eefc131e824ce0a23ae4c13f4eb2a150d2e9c02e504002c82ad1dd801
7
+ data.tar.gz: c3ba66e2f604cb032e61c8f3ba935f42320cae6c74dee3abeb6294b3303f6840ab30272694285ea2593d0f3cfc3f43c52e60cd70a03a4b4868b36d49f82db83e
@@ -45,20 +45,21 @@ module LoginControlModule
45
45
 
46
46
  def find_or_build_rc_record(scope, login_name)
47
47
  id = cookies.encrypted.permanent[:login_control]
48
- if id.present?
49
- rc_record(scope, login_name, id: id)
50
- else
48
+ res = nil
49
+ res = rc_record(scope, login_name, id: id) if id.present?
50
+ unless res
51
51
  id = SecureRandom.hex(20)
52
52
  logger.info "LoginControlModule.find_or_build_rc_record => created cookie by id: «#{id}»" if debug_request_control
53
53
  cookies.encrypted.permanent[:login_control] = id
54
- LoginControl.new(session_id: id, scope: scope, login_name: login_name, validate_captcha: true)
54
+ res = LoginControl.new(session_id: id, scope: scope, login_name: login_name, validate_captcha: true)
55
55
  end
56
+ res
56
57
  end
57
58
 
58
59
  # read cookie «login_control»
59
60
  def rc_record(scope, login_name, id: cookies.encrypted.permanent[:login_control])
60
61
  if id
61
- lc = LoginControl.find_by(session_id: id, scope: scope, login_name: login_name)
62
+ lc = LoginControl.find_or_initialize_by(session_id: id, scope: scope, login_name: login_name)
62
63
  logger.info "LoginControlModule.rc_record => #{lc ? '' : 'NOT '}found by session_id: «#{id}» #{lc ? ", record-id: #{lc.id}" : ''}" if debug_request_control
63
64
  lc
64
65
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: login-control
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
4
+ version: 0.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Sedlmair
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-28 00:00:00.000000000 Z
11
+ date: 2023-09-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Based on Login Attempts check if captcha is necessary. It stores a permanent
14
14
  cookie and uses a table for tracking login requests.
@@ -39,7 +39,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  requirements: []
42
- rubygems_version: 3.3.17
42
+ rubygems_version: 3.4.12
43
43
  signing_key:
44
44
  specification_version: 4
45
45
  summary: Lib for simplifying and securing login.