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.
- data/Gemfile.lock +2 -2
- data/README.md +42 -10
- data/VERSION +1 -1
- data/app/controllers/devise/devise_authy_controller.rb +18 -4
- data/devise-authy.gemspec +2 -2
- data/spec/rails-app/Gemfile.lock +1 -1
- metadata +60 -60
data/Gemfile.lock
CHANGED
@@ -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.
|
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
|
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
|
-
|
19
|
-
|
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
|
-
|
26
|
-
|
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
|
-
|
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
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
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.
|
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
|
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
|
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
|
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
|
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
|
data/devise-authy.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "devise-authy"
|
8
|
-
s.version = "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-
|
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 = [
|
data/spec/rails-app/Gemfile.lock
CHANGED
metadata
CHANGED
@@ -2,191 +2,191 @@
|
|
2
2
|
name: devise-authy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.
|
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-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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:
|
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
|