tiddle 1.6.0 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +0 -1
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +6 -1
- data/lib/tiddle/token_issuer.rb +9 -4
- data/lib/tiddle/version.rb +1 -1
- data/spec/rails_app_active_record/db/migrate/20150217000000_create_tables.rb +1 -0
- data/spec/rails_app_mongoid/app/models/authentication_token.rb +1 -0
- data/spec/rails_app_mongoid/app/models/user.rb +1 -1
- data/spec/tiddle_spec.rb +5 -0
- data/tiddle.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d20d30a11350b4ee5ffe3a9c6ba9640afa90c13ddf87dac2c9bf6d4160339627
|
4
|
+
data.tar.gz: fcd8811ba7c94de4accbf4a7920e6903f780707d5af858c7e9a153691ec53351
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: baf2289d634255233c6efe5c2988789a63ca05bdf1c278be92d500e50a5009e6875b29ef15c7e1cbb9bd03f131349bcf11757938f166a329389fa3cc720a7399
|
7
|
+
data.tar.gz: b972e36c75bb0b1c3bc5f21ef9977d5d9f93e595dfaef6905bd59f458079b9b4f7fb6e5068e35fd6b1aaa6e4e63740c62609db68c89bb87a0353bddf1c702721
|
data/.github/workflows/ruby.yml
CHANGED
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
### 1.7.0
|
2
|
+
|
3
|
+
Add ability to track additional info in tokens (Marcelo Silveira)
|
4
|
+
|
5
|
+
Remove Ruby 2.5 support
|
6
|
+
|
1
7
|
### 1.6.0
|
2
8
|
|
3
9
|
Add Rails 6.1 support
|
@@ -8,7 +14,6 @@ Remove Rails 4.2 support
|
|
8
14
|
|
9
15
|
Remove Ruby 2.4 support
|
10
16
|
|
11
|
-
|
12
17
|
### 1.5.0
|
13
18
|
|
14
19
|
Add Rails 6 support
|
data/lib/tiddle/token_issuer.rb
CHANGED
@@ -12,12 +12,17 @@ module Tiddle
|
|
12
12
|
self.maximum_tokens_per_user = maximum_tokens_per_user
|
13
13
|
end
|
14
14
|
|
15
|
-
def create_and_return_token(resource, request, expires_in: nil)
|
15
|
+
def create_and_return_token(resource, request, expires_in: nil, metadata: {})
|
16
16
|
token_class = authentication_token_class(resource)
|
17
17
|
token, token_body = Devise.token_generator.generate(token_class, :body)
|
18
18
|
|
19
19
|
resource.authentication_tokens.create!(
|
20
|
-
token_attributes(
|
20
|
+
token_attributes(
|
21
|
+
token_body: token_body,
|
22
|
+
request: request,
|
23
|
+
expires_in: expires_in,
|
24
|
+
metadata: metadata
|
25
|
+
)
|
21
26
|
)
|
22
27
|
|
23
28
|
token
|
@@ -56,13 +61,13 @@ module Tiddle
|
|
56
61
|
end
|
57
62
|
end
|
58
63
|
|
59
|
-
def token_attributes(token_body
|
64
|
+
def token_attributes(token_body:, request:, expires_in:, metadata: {})
|
60
65
|
attributes = {
|
61
66
|
body: token_body,
|
62
67
|
last_used_at: Time.current,
|
63
68
|
ip_address: request.remote_ip,
|
64
69
|
user_agent: request.user_agent
|
65
|
-
}
|
70
|
+
}.merge(metadata)
|
66
71
|
|
67
72
|
if expires_in
|
68
73
|
attributes.merge(expires_in: expires_in)
|
data/lib/tiddle/version.rb
CHANGED
data/spec/tiddle_spec.rb
CHANGED
@@ -38,6 +38,11 @@ describe Tiddle do
|
|
38
38
|
FakeRequest.new(user_agent: "Internet Explorer 4.0")
|
39
39
|
expect(@user.authentication_tokens.last.user_agent).to eq "Internet Explorer 4.0"
|
40
40
|
end
|
41
|
+
|
42
|
+
it "saves additional metadata" do
|
43
|
+
Tiddle.create_and_return_token @user, FakeRequest.new, metadata: { metadata_attr1: "abc" }
|
44
|
+
expect(@user.authentication_tokens.last.metadata_attr1).to eq "abc"
|
45
|
+
end
|
41
46
|
end
|
42
47
|
|
43
48
|
describe "find_token" do
|
data/tiddle.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
17
|
spec.require_paths = ["lib"]
|
18
18
|
|
19
|
-
spec.required_ruby_version = '>= 2.
|
19
|
+
spec.required_ruby_version = '>= 2.6.0'
|
20
20
|
|
21
21
|
spec.add_dependency "devise", ">= 4.0.0.rc1", "< 5"
|
22
22
|
spec.add_dependency "activerecord", ">= 5.2.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tiddle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Niedzielski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: devise
|
@@ -213,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
213
213
|
requirements:
|
214
214
|
- - ">="
|
215
215
|
- !ruby/object:Gem::Version
|
216
|
-
version: 2.
|
216
|
+
version: 2.6.0
|
217
217
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
218
|
requirements:
|
219
219
|
- - ">="
|