devise-authy 1.2.2 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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