altcha 0.2.0 → 1.0.0
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/Gemfile.lock +11 -11
- data/README.md +1 -1
- data/altcha.gemspec +2 -2
- data/lib/altcha/version.rb +1 -1
- data/lib/altcha.rb +4 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b8a3ab9fc23e2e62bd9a0355d917260fe5441d5f4980e19f27a9373449409c23
|
|
4
|
+
data.tar.gz: a0ee5531bb2edccebbedf99db05a6d4b036d0c3425c7dad214b8c3a1c2e9195e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 28ba37f3008fe75770d77138d3eba714bbe6cff6cf1cccda077b4633e83256bbf3ad97479208ab5b79896a46e21aba7fc860d6e3694cc5ba931c2d3673cdbede
|
|
7
|
+
data.tar.gz: 025f7a66d20e1752bb67ef8f109fde608e3f66327d26af3728d064de0b24cc128b17b09df3ae89f97030b87140420cc87cc21101bc909c1a560aa3281db5b383
|
data/Gemfile.lock
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
altcha (0.
|
|
4
|
+
altcha (1.0.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
-
diff-lcs (1.
|
|
10
|
-
rake (
|
|
11
|
-
rspec (3.13.
|
|
9
|
+
diff-lcs (1.6.2)
|
|
10
|
+
rake (13.3.1)
|
|
11
|
+
rspec (3.13.1)
|
|
12
12
|
rspec-core (~> 3.13.0)
|
|
13
13
|
rspec-expectations (~> 3.13.0)
|
|
14
14
|
rspec-mocks (~> 3.13.0)
|
|
15
|
-
rspec-core (3.13.
|
|
15
|
+
rspec-core (3.13.5)
|
|
16
16
|
rspec-support (~> 3.13.0)
|
|
17
|
-
rspec-expectations (3.13.
|
|
17
|
+
rspec-expectations (3.13.5)
|
|
18
18
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
19
19
|
rspec-support (~> 3.13.0)
|
|
20
|
-
rspec-mocks (3.13.
|
|
20
|
+
rspec-mocks (3.13.5)
|
|
21
21
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
22
22
|
rspec-support (~> 3.13.0)
|
|
23
|
-
rspec-support (3.13.
|
|
23
|
+
rspec-support (3.13.6)
|
|
24
24
|
|
|
25
25
|
PLATFORMS
|
|
26
26
|
arm64-darwin-23
|
|
@@ -28,9 +28,9 @@ PLATFORMS
|
|
|
28
28
|
|
|
29
29
|
DEPENDENCIES
|
|
30
30
|
altcha!
|
|
31
|
-
bundler (~>
|
|
32
|
-
rake (~>
|
|
31
|
+
bundler (~> 4.0.1)
|
|
32
|
+
rake (~> 13.3.1)
|
|
33
33
|
rspec (~> 3.0)
|
|
34
34
|
|
|
35
35
|
BUNDLED WITH
|
|
36
|
-
|
|
36
|
+
4.0.1
|
data/README.md
CHANGED
data/altcha.gemspec
CHANGED
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
23
23
|
spec.require_paths = ["lib"]
|
|
24
24
|
|
|
25
|
-
spec.add_development_dependency "bundler", "~>
|
|
26
|
-
spec.add_development_dependency "rake", "~>
|
|
25
|
+
spec.add_development_dependency "bundler", "~> 4.0.1"
|
|
26
|
+
spec.add_development_dependency "rake", "~> 13.3.1"
|
|
27
27
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
28
28
|
end
|
data/lib/altcha/version.rb
CHANGED
data/lib/altcha.rb
CHANGED
|
@@ -254,6 +254,7 @@ module Altcha
|
|
|
254
254
|
|
|
255
255
|
salt = options.salt || random_bytes(salt_length).unpack1('H*')
|
|
256
256
|
salt += "?#{URI.encode_www_form(params)}" unless params.empty?
|
|
257
|
+
salt += salt.end_with?('&') ? '' : '&'
|
|
257
258
|
|
|
258
259
|
number = options.number || random_int(max_number)
|
|
259
260
|
|
|
@@ -376,7 +377,7 @@ module Altcha
|
|
|
376
377
|
|
|
377
378
|
hash_data = hash(payload.algorithm, payload.verification_data)
|
|
378
379
|
expected_signature = hmac_hex(payload.algorithm, hash_data, hmac_key)
|
|
379
|
-
|
|
380
|
+
|
|
380
381
|
params = URI.decode_www_form(payload.verification_data).to_h
|
|
381
382
|
verification_data = ServerSignatureVerificationData.new.tap do |v|
|
|
382
383
|
v.classification = params['classification'] || nil
|
|
@@ -385,6 +386,8 @@ module Altcha
|
|
|
385
386
|
v.email = params['email'] || nil
|
|
386
387
|
v.expire = params['expire'] ? params['expire'].to_i : nil
|
|
387
388
|
v.fields = params['fields'] ? params['fields'].split(',') : nil
|
|
389
|
+
v.fields_hash = params['fieldsHash'] || nil
|
|
390
|
+
v.ip_address = params['ipAddress'] || nil
|
|
388
391
|
v.reasons = params['reasons'] ? params['reasons'].split(',') : nil
|
|
389
392
|
v.score = params['score'] ? params['score'].to_f : nil
|
|
390
393
|
v.time = params['time'] ? params['time'].to_i : nil
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: altcha
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel Regeci
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2025-12-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,28 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 4.0.1
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 4.0.1
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version:
|
|
33
|
+
version: 13.3.1
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
40
|
+
version: 13.3.1
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|