devise_code_authenticatable 0.1.7 → 0.2.3

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: '071439b7cb5e3c0f836077669f4df4f276987ae5f3f11f2b99bca0cf3bcddce2'
4
- data.tar.gz: 0275fe3087847ecb4c7c32c0e37f6f0085e49adfcd5068cef7baaf2ad843725f
3
+ metadata.gz: 2948fdbc5b0bc87a1d08ab431cee7d121abbec208a82836f8662216341d575c7
4
+ data.tar.gz: e08fee0dbc98b94e9b368dad6a96b41741698e7c9e9e802847c4ba556199732c
5
5
  SHA512:
6
- metadata.gz: 68d370d6158d0b259307cfe1ec4c848d7462c357bfc4639eead56c35d22d56911aad4fa80a2aef2e9e641fcbcf54012a5737f7a35a90df02ad8d90b4ab08d33b
7
- data.tar.gz: 9af50707444f3785d1aca3d8ef77d74790f9d444757a34c1910c5841d52d394720000d68c9653f31f2a3424fdd0caf6ef0e197bf0f178ce4faf93f9438875b6f
6
+ metadata.gz: 34bf27cd625727f12d09d1cefde526810274493d93db5cd42ce6d82ebe5e1944d5472e6950466d20850f53a369aace9ab61a3b87a9265404982f79b2167c587c
7
+ data.tar.gz: 3b38efb389db6397e7818be56451ceaa7cfbb5dc4c1b4cdea87701ea7754589a2fea2476ee447a05c3bacacdf76d5ffd121ae75f2690c9b65873004377134e89
data/README.md CHANGED
@@ -1,9 +1,6 @@
1
1
  # DeviseCodeAuthenticatable
2
2
  A Devise plugin for two-factor authenticatable.
3
3
 
4
- ## Demo
5
- An example rails app to use this plugin is setup in [demo](https://github.com/vincentying15/demo_for_devise_code_authenticatable)
6
-
7
4
  ## Installation
8
5
  Add this line to your Rails Gemfile:
9
6
 
@@ -11,20 +8,18 @@ Add this line to your Rails Gemfile:
11
8
  gem 'devise_code_authenticatable'
12
9
  ```
13
10
 
14
- ### Automatic installation
15
11
  Run:
16
12
 
17
13
  ```bash
18
14
  rails generate devise_code_authenticatable:install
19
15
  ```
20
16
 
21
- This will create a migration file name in your `db/migrate` folder, then
17
+ This will create a migration file in your `db/migrate` folder, then
22
18
 
23
19
 
24
20
  ```ruby
25
21
  rails db:migrate
26
22
  ```
27
- ### Devise Configuration
28
23
  Add `:authenticatable` to the model you want to enable code_authenticatable, also make sure `:database_authenticatable` is removed
29
24
 
30
25
  ```ruby
@@ -29,8 +29,8 @@ module DeviseCodeAuthenticatable
29
29
  end
30
30
 
31
31
  def expired?
32
- retry_time_limit = 5
33
- expire_at = (self.created_at || Time.now) + 10.minutes
32
+ retry_time_limit = self.class.retry_limit
33
+ expire_at = (self.created_at || Time.now) + self.class.expire_time
34
34
 
35
35
  self.expired = self.expired || Time.now.after?(expire_at) || self.retry_times.to_i > retry_time_limit
36
36
  end
@@ -40,7 +40,8 @@ module DeviseCodeAuthenticatable
40
40
  end
41
41
 
42
42
  module ClassMethods
43
- Devise::Models.config(self, :login_codes)
43
+ Devise::Models.config(self, :retry_limit)
44
+ Devise::Models.config(self, :expire_time)
44
45
  end
45
46
 
46
47
  end
@@ -11,6 +11,9 @@ module Devise
11
11
  def send_login_token_keys
12
12
  [:email]
13
13
  end
14
+
15
+ Devise::Models.config(self, :retry_limit)
16
+ Devise::Models.config(self, :expire_time)
14
17
  end
15
18
 
16
19
  end
@@ -1,3 +1,3 @@
1
1
  module DeviseCodeAuthenticatable
2
- VERSION = '0.1.7'
2
+ VERSION = '0.2.3'
3
3
  end
@@ -16,6 +16,20 @@ require 'devise_code_authenticatable/rails'
16
16
  require 'devise_code_authenticatable/strategies/code_authenticatable'
17
17
 
18
18
  module Devise
19
+ # Public: Maximum retry times for a code to be verifed (default: 5).
20
+ # Login code will not change even if user click resend mail,
21
+ # and the same code will be sent again.
22
+ #
23
+ # config.retry_limit = 1 # => The code will be reset immediately when user passed wrong code
24
+ mattr_accessor :retry_limit
25
+ @@retry_limit = 5
26
+
27
+ # Public: Deadline for a code to be verifed (default: 10.minutes).
28
+ # Login code will expired if user has not enter the login_code in 10 minutes
29
+ #
30
+ # config.expire_time = 1.hour # => The code is valid in the next hour after generated
31
+ mattr_accessor :expire_time
32
+ @@expire_time = 10.minutes
19
33
  end
20
34
 
21
35
 
metadata CHANGED
@@ -1,35 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_code_authenticatable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - vincentying15
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-10 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 6.0.2
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 6.0.2.1
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: 6.0.2
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 6.0.2.1
11
+ date: 2022-07-04 00:00:00.000000000 Z
12
+ dependencies: []
33
13
  description: Devise plugin to allow sign in by email sent code
34
14
  email:
35
15
  - vincent_ying_live@outlook.com
@@ -70,7 +50,7 @@ licenses:
70
50
  metadata:
71
51
  allowed_push_host: https://rubygems.org
72
52
  source_code_uri: https://github.com/vincentying15/devise_code_authenticatable
73
- post_install_message:
53
+ post_install_message:
74
54
  rdoc_options: []
75
55
  require_paths:
76
56
  - lib
@@ -85,8 +65,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
65
  - !ruby/object:Gem::Version
86
66
  version: '0'
87
67
  requirements: []
88
- rubygems_version: 3.0.3
89
- signing_key:
68
+ rubygems_version: 3.1.6
69
+ signing_key:
90
70
  specification_version: 4
91
71
  summary: devise_code_authenticatable
92
72
  test_files: []