devise-authy 1.2.2 → 1.3.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.
@@ -46,7 +46,7 @@ GEM
46
46
  orm_adapter (~> 0.1)
47
47
  railties (~> 3.1)
48
48
  warden (~> 1.2.1)
49
- diff-lcs (1.2.3)
49
+ diff-lcs (1.2.5)
50
50
  erubis (2.7.0)
51
51
  git (1.2.5)
52
52
  hike (1.2.2)
@@ -98,7 +98,7 @@ GEM
98
98
  rake (>= 0.8.7)
99
99
  rdoc (~> 3.4)
100
100
  thor (>= 0.14.6, < 2.0)
101
- rake (10.0.4)
101
+ rake (10.1.0)
102
102
  rdoc (3.12.2)
103
103
  json (~> 1.4)
104
104
  rspec (2.13.0)
data/README.md CHANGED
@@ -15,15 +15,19 @@ See [https://github.com/authy/authy-devise/tree/master/authy-devise-demo](https:
15
15
 
16
16
  First create an initializer in `config/initializer/authy.rb`
17
17
 
18
- Authy.api_key = ENV['AUTHY_API_KEY'] || 'your_authy_api_key'
19
- Authy.api_uri = 'https://api.authy.com/'
18
+ ```ruby
19
+ Authy.api_key = ENV['AUTHY_API_KEY'] || 'your_authy_api_key'
20
+ Authy.api_uri = 'https://api.authy.com/'
21
+ ```
20
22
 
21
23
  You can get the `AUTHY_API_KEY` at [https://www.authy.com/signup](https://www.authy.com/signup)
22
24
 
23
25
  Next add the gem to your Gemfile:
24
26
 
25
- gem 'devise'
26
- gem 'devise-authy'
27
+ ```ruby
28
+ gem 'devise'
29
+ gem 'devise-authy'
30
+ ```
27
31
 
28
32
  And then run `bundle install`
29
33
 
@@ -42,15 +46,19 @@ Configure your Devise user model:
42
46
 
43
47
  or add the following line to your `User` model
44
48
 
45
- devise :authy_authenticatable, :database_authenticatable
49
+ ```ruby
50
+ devise :authy_authenticatable, :database_authenticatable
51
+ ```
46
52
 
47
53
  Change the default routes to point to something sane like:
48
54
 
49
- devise_for :users, :path_names => {
50
- :verify_authy => "/verify-token",
51
- :enable_authy => "/enable-two-factor",
52
- :verify_authy_installation => "/verify-installation"
53
- }
55
+ ```ruby
56
+ devise_for :users, :path_names => {
57
+ :verify_authy => "/verify-token",
58
+ :enable_authy => "/enable-two-factor",
59
+ :verify_authy_installation => "/verify-installation"
60
+ }
61
+ ```
54
62
 
55
63
  Then run the migrations:
56
64
 
@@ -74,6 +82,30 @@ If you want to customise your views, you can modify the files that are located a
74
82
  app/views/devise/devise_authy/verify_authy.html.erb
75
83
  app/views/devise/devise_authy/verify_authy_installation.html.erb
76
84
 
85
+
86
+ ## Custom Redirect Paths (eg. using modules)
87
+
88
+ If you want to customise the redirects you can override them within your own controller like this:
89
+
90
+ ```ruby
91
+ class MyCustomModule::DeviseAuthyController < Devise::DeviseAuthyController
92
+
93
+ protected
94
+ def after_authy_enabled_path_for(resource)
95
+ my_own_path
96
+ end
97
+
98
+ def after_authy_verified_path_for(resource)
99
+ my_own_path
100
+ end
101
+
102
+ def invalid_resource_path
103
+ my_own_path
104
+ end
105
+ end
106
+ ```
107
+
108
+
77
109
  ## I18n
78
110
 
79
111
  The install generator also copy a `Devise Authy` i18n file which you can find at:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.2
1
+ 1.3.0
@@ -44,7 +44,7 @@ class Devise::DeviseAuthyController < DeviseController
44
44
  render :enable_authy
45
45
  else
46
46
  set_flash_message(:notice, :already_enabled)
47
- redirect_to :root
47
+ redirect_to after_authy_enabled_path_for(resource)
48
48
  end
49
49
  end
50
50
 
@@ -61,7 +61,7 @@ class Devise::DeviseAuthyController < DeviseController
61
61
  set_flash_message(:notice, :enabled)
62
62
  else
63
63
  set_flash_message(:error, :not_enabled)
64
- redirect_to :root and return
64
+ redirect_to after_authy_enabled_path_for(resource) and return
65
65
  end
66
66
 
67
67
  redirect_to [resource_name, :verify_authy_installation]
@@ -88,7 +88,7 @@ class Devise::DeviseAuthyController < DeviseController
88
88
  render :verify_authy_installation
89
89
  else
90
90
  set_flash_message(:notice, :enabled)
91
- redirect_to :root
91
+ redirect_to after_authy_verified_path_for(resource)
92
92
  end
93
93
  end
94
94
 
@@ -121,7 +121,21 @@ class Devise::DeviseAuthyController < DeviseController
121
121
  find_resource
122
122
 
123
123
  if @resource.nil? || session[:"#{resource_name}_password_checked"].to_s != "true"
124
- redirect_to :root
124
+ redirect_to invalid_resource_path
125
125
  end
126
126
  end
127
+
128
+ protected
129
+
130
+ def after_authy_enabled_path_for(resource)
131
+ root_path
132
+ end
133
+
134
+ def after_authy_verified_path_for(resource)
135
+ after_authy_enabled_path_for(resource)
136
+ end
137
+
138
+ def invalid_resource_path
139
+ root_path
140
+ end
127
141
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "devise-authy"
8
- s.version = "1.2.1"
8
+ s.version = "1.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Authy Inc."]
12
- s.date = "2013-04-22"
12
+ s.date = "2013-11-15"
13
13
  s.description = "Authy plugin for Devise"
14
14
  s.email = "support@authy.com"
15
15
  s.extra_rdoc_files = [
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- devise-authy (1.2.1)
4
+ devise-authy (1.3.0)
5
5
  authy
6
6
  devise
7
7
 
metadata CHANGED
@@ -2,191 +2,191 @@
2
2
  name: devise-authy
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.2.2
5
+ version: 1.3.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Authy Inc.
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-04 00:00:00.000000000 Z
12
+ date: 2013-11-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- prerelease: false
16
- name: devise
17
- type: :runtime
18
15
  version_requirements: !ruby/object:Gem::Requirement
16
+ none: false
19
17
  requirements:
20
18
  - - ! '>='
21
19
  - !ruby/object:Gem::Version
22
20
  version: '0'
23
- none: false
21
+ name: devise
22
+ type: :runtime
23
+ prerelease: false
24
24
  requirement: !ruby/object:Gem::Requirement
25
+ none: false
25
26
  requirements:
26
27
  - - ! '>='
27
28
  - !ruby/object:Gem::Version
28
29
  version: '0'
29
- none: false
30
30
  - !ruby/object:Gem::Dependency
31
- prerelease: false
32
- name: authy
33
- type: :runtime
34
31
  version_requirements: !ruby/object:Gem::Requirement
32
+ none: false
35
33
  requirements:
36
34
  - - ! '>='
37
35
  - !ruby/object:Gem::Version
38
36
  version: '0'
39
- none: false
37
+ name: authy
38
+ type: :runtime
39
+ prerelease: false
40
40
  requirement: !ruby/object:Gem::Requirement
41
+ none: false
41
42
  requirements:
42
43
  - - ! '>='
43
44
  - !ruby/object:Gem::Version
44
45
  version: '0'
45
- none: false
46
46
  - !ruby/object:Gem::Dependency
47
- prerelease: false
48
- name: rspec
49
- type: :development
50
47
  version_requirements: !ruby/object:Gem::Requirement
48
+ none: false
51
49
  requirements:
52
50
  - - ! '>='
53
51
  - !ruby/object:Gem::Version
54
52
  version: '0'
55
- none: false
53
+ name: rspec
54
+ type: :development
55
+ prerelease: false
56
56
  requirement: !ruby/object:Gem::Requirement
57
+ none: false
57
58
  requirements:
58
59
  - - ! '>='
59
60
  - !ruby/object:Gem::Version
60
61
  version: '0'
61
- none: false
62
62
  - !ruby/object:Gem::Dependency
63
- prerelease: false
64
- name: yard
65
- type: :development
66
63
  version_requirements: !ruby/object:Gem::Requirement
64
+ none: false
67
65
  requirements:
68
66
  - - ! '>='
69
67
  - !ruby/object:Gem::Version
70
68
  version: '0'
71
- none: false
69
+ name: yard
70
+ type: :development
71
+ prerelease: false
72
72
  requirement: !ruby/object:Gem::Requirement
73
+ none: false
73
74
  requirements:
74
75
  - - ! '>='
75
76
  - !ruby/object:Gem::Version
76
77
  version: '0'
77
- none: false
78
78
  - !ruby/object:Gem::Dependency
79
- prerelease: false
80
- name: rdoc
81
- type: :development
82
79
  version_requirements: !ruby/object:Gem::Requirement
80
+ none: false
83
81
  requirements:
84
82
  - - ! '>='
85
83
  - !ruby/object:Gem::Version
86
84
  version: '0'
87
- none: false
85
+ name: rdoc
86
+ type: :development
87
+ prerelease: false
88
88
  requirement: !ruby/object:Gem::Requirement
89
+ none: false
89
90
  requirements:
90
91
  - - ! '>='
91
92
  - !ruby/object:Gem::Version
92
93
  version: '0'
93
- none: false
94
94
  - !ruby/object:Gem::Dependency
95
- prerelease: false
96
- name: bundler
97
- type: :development
98
95
  version_requirements: !ruby/object:Gem::Requirement
96
+ none: false
99
97
  requirements:
100
98
  - - ! '>='
101
99
  - !ruby/object:Gem::Version
102
100
  version: '0'
103
- none: false
101
+ name: bundler
102
+ type: :development
103
+ prerelease: false
104
104
  requirement: !ruby/object:Gem::Requirement
105
+ none: false
105
106
  requirements:
106
107
  - - ! '>='
107
108
  - !ruby/object:Gem::Version
108
109
  version: '0'
109
- none: false
110
110
  - !ruby/object:Gem::Dependency
111
- prerelease: false
112
- name: jeweler
113
- type: :development
114
111
  version_requirements: !ruby/object:Gem::Requirement
112
+ none: false
115
113
  requirements:
116
114
  - - ! '>='
117
115
  - !ruby/object:Gem::Version
118
116
  version: '0'
119
- none: false
117
+ name: jeweler
118
+ type: :development
119
+ prerelease: false
120
120
  requirement: !ruby/object:Gem::Requirement
121
+ none: false
121
122
  requirements:
122
123
  - - ! '>='
123
124
  - !ruby/object:Gem::Version
124
125
  version: '0'
125
- none: false
126
126
  - !ruby/object:Gem::Dependency
127
- prerelease: false
128
- name: simplecov
129
- type: :development
130
127
  version_requirements: !ruby/object:Gem::Requirement
128
+ none: false
131
129
  requirements:
132
130
  - - ! '>='
133
131
  - !ruby/object:Gem::Version
134
132
  version: '0'
135
- none: false
133
+ name: simplecov
134
+ type: :development
135
+ prerelease: false
136
136
  requirement: !ruby/object:Gem::Requirement
137
+ none: false
137
138
  requirements:
138
139
  - - ! '>='
139
140
  - !ruby/object:Gem::Version
140
141
  version: '0'
141
- none: false
142
142
  - !ruby/object:Gem::Dependency
143
- prerelease: false
144
- name: sass-rails
145
- type: :development
146
143
  version_requirements: !ruby/object:Gem::Requirement
144
+ none: false
147
145
  requirements:
148
146
  - - ! '>='
149
147
  - !ruby/object:Gem::Version
150
148
  version: '0'
151
- none: false
149
+ name: sass-rails
150
+ type: :development
151
+ prerelease: false
152
152
  requirement: !ruby/object:Gem::Requirement
153
+ none: false
153
154
  requirements:
154
155
  - - ! '>='
155
156
  - !ruby/object:Gem::Version
156
157
  version: '0'
157
- none: false
158
158
  - !ruby/object:Gem::Dependency
159
- prerelease: false
160
- name: jquery-rails
161
- type: :development
162
159
  version_requirements: !ruby/object:Gem::Requirement
160
+ none: false
163
161
  requirements:
164
162
  - - ! '>='
165
163
  - !ruby/object:Gem::Version
166
164
  version: '0'
167
- none: false
165
+ name: jquery-rails
166
+ type: :development
167
+ prerelease: false
168
168
  requirement: !ruby/object:Gem::Requirement
169
+ none: false
169
170
  requirements:
170
171
  - - ! '>='
171
172
  - !ruby/object:Gem::Version
172
173
  version: '0'
173
- none: false
174
174
  - !ruby/object:Gem::Dependency
175
- prerelease: false
176
- name: pry
177
- type: :development
178
175
  version_requirements: !ruby/object:Gem::Requirement
176
+ none: false
179
177
  requirements:
180
178
  - - ! '>='
181
179
  - !ruby/object:Gem::Version
182
180
  version: '0'
183
- none: false
181
+ name: pry
182
+ type: :development
183
+ prerelease: false
184
184
  requirement: !ruby/object:Gem::Requirement
185
+ none: false
185
186
  requirements:
186
187
  - - ! '>='
187
188
  - !ruby/object:Gem::Version
188
189
  version: '0'
189
- none: false
190
190
  description: Authy plugin for Devise
191
191
  email: support@authy.com
192
192
  executables: []
@@ -368,20 +368,20 @@ rdoc_options: []
368
368
  require_paths:
369
369
  - lib
370
370
  required_ruby_version: !ruby/object:Gem::Requirement
371
+ none: false
371
372
  requirements:
372
373
  - - ! '>='
373
374
  - !ruby/object:Gem::Version
374
375
  segments:
375
376
  - 0
376
- hash: 1669727598248125188
377
+ hash: -2707365920009790571
377
378
  version: '0'
378
- none: false
379
379
  required_rubygems_version: !ruby/object:Gem::Requirement
380
+ none: false
380
381
  requirements:
381
382
  - - ! '>='
382
383
  - !ruby/object:Gem::Version
383
384
  version: '0'
384
- none: false
385
385
  requirements: []
386
386
  rubyforge_project:
387
387
  rubygems_version: 1.8.24