devise_token_auth 0.2.0 → 1.0.0.rc1
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.
Potentially problematic release.
This version of devise_token_auth might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +1 -2
- data/Rakefile +9 -4
- data/app/controllers/devise_token_auth/application_controller.rb +5 -7
- data/app/controllers/devise_token_auth/concerns/resource_finder.rb +2 -2
- data/app/controllers/devise_token_auth/concerns/set_user_by_token.rb +18 -10
- data/app/controllers/devise_token_auth/confirmations_controller.rb +2 -2
- data/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb +17 -23
- data/app/controllers/devise_token_auth/passwords_controller.rb +23 -27
- data/app/controllers/devise_token_auth/registrations_controller.rb +17 -15
- data/app/controllers/devise_token_auth/sessions_controller.rb +8 -12
- data/app/controllers/devise_token_auth/token_validations_controller.rb +3 -3
- data/app/controllers/devise_token_auth/unlocks_controller.rb +10 -12
- data/app/models/devise_token_auth/concerns/user.rb +27 -36
- data/config/initializers/devise.rb +1 -1
- data/lib/devise_token_auth.rb +6 -6
- data/lib/devise_token_auth/controllers/helpers.rb +14 -4
- data/lib/devise_token_auth/engine.rb +11 -13
- data/lib/devise_token_auth/errors.rb +1 -1
- data/lib/devise_token_auth/rails/routes.rb +29 -29
- data/lib/devise_token_auth/url.rb +6 -4
- data/lib/devise_token_auth/version.rb +1 -1
- data/lib/generators/devise_token_auth/install_generator.rb +52 -39
- data/lib/generators/devise_token_auth/install_views_generator.rb +5 -5
- data/lib/generators/devise_token_auth/templates/devise_token_auth_create_users.rb.erb +1 -1
- data/lib/generators/devise_token_auth/templates/{user.rb → user.rb.erb} +0 -0
- data/test/controllers/custom/custom_confirmations_controller_test.rb +3 -1
- data/test/controllers/custom/custom_omniauth_callbacks_controller_test.rb +2 -0
- data/test/controllers/custom/custom_passwords_controller_test.rb +4 -2
- data/test/controllers/custom/custom_registrations_controller_test.rb +6 -8
- data/test/controllers/custom/custom_sessions_controller_test.rb +5 -5
- data/test/controllers/custom/custom_token_validations_controller_test.rb +3 -3
- data/test/controllers/demo_group_controller_test.rb +2 -6
- data/test/controllers/demo_mang_controller_test.rb +2 -5
- data/test/controllers/demo_user_controller_test.rb +8 -17
- data/test/controllers/devise_token_auth/confirmations_controller_test.rb +2 -2
- data/test/controllers/devise_token_auth/passwords_controller_test.rb +13 -9
- data/test/controllers/devise_token_auth/registrations_controller_test.rb +8 -8
- data/test/controllers/devise_token_auth/sessions_controller_test.rb +22 -33
- data/test/controllers/devise_token_auth/token_validations_controller_test.rb +2 -6
- data/test/controllers/devise_token_auth/unlocks_controller_test.rb +1 -1
- data/test/controllers/overrides/confirmations_controller_test.rb +3 -1
- data/test/controllers/overrides/omniauth_callbacks_controller_test.rb +3 -1
- data/test/controllers/overrides/passwords_controller_test.rb +25 -29
- data/test/controllers/overrides/registrations_controller_test.rb +4 -2
- data/test/controllers/overrides/sessions_controller_test.rb +4 -4
- data/test/controllers/overrides/token_validations_controller_test.rb +3 -3
- data/test/dummy/app/controllers/custom/confirmations_controller.rb +0 -2
- data/test/dummy/app/controllers/custom/passwords_controller.rb +1 -4
- data/test/dummy/app/controllers/custom/registrations_controller.rb +1 -2
- data/test/dummy/app/controllers/custom/sessions_controller.rb +1 -3
- data/test/dummy/app/controllers/custom/token_validations_controller.rb +1 -3
- data/test/dummy/app/controllers/overrides/confirmations_controller.rb +3 -3
- data/test/dummy/app/controllers/overrides/omniauth_callbacks_controller.rb +3 -3
- data/test/dummy/app/controllers/overrides/passwords_controller.rb +5 -5
- data/test/dummy/app/controllers/overrides/registrations_controller.rb +2 -2
- data/test/dummy/app/controllers/overrides/sessions_controller.rb +8 -10
- data/test/dummy/app/controllers/overrides/token_validations_controller.rb +3 -5
- data/test/dummy/app/helpers/application_helper.rb +1027 -1036
- data/test/dummy/app/models/scoped_user.rb +2 -2
- data/test/dummy/app/models/unregisterable_user.rb +2 -2
- data/test/dummy/app/models/user.rb +1 -1
- data/test/dummy/config.ru +5 -3
- data/test/dummy/config/application.rb +2 -2
- data/test/dummy/config/boot.rb +2 -2
- data/test/dummy/config/environment.rb +1 -1
- data/test/dummy/config/environments/development.rb +3 -3
- data/test/dummy/config/environments/test.rb +1 -1
- data/test/dummy/config/initializers/omniauth.rb +2 -2
- data/test/dummy/config/routes.rb +10 -29
- data/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb +8 -8
- data/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb +7 -7
- data/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb +4 -4
- data/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb +7 -7
- data/test/dummy/db/migrate/20150708104536_devise_token_auth_create_unconfirmable_users.rb +7 -7
- data/test/dummy/db/migrate/20160103235141_devise_token_auth_create_scoped_users.rb +7 -7
- data/test/dummy/db/migrate/20160629184441_devise_token_auth_create_lockable_users.rb +6 -6
- data/test/dummy/db/schema.rb +2 -60
- data/test/factories/users.rb +40 -0
- data/test/lib/devise_token_auth/url_test.rb +6 -6
- data/test/lib/generators/devise_token_auth/install_generator_test.rb +22 -14
- data/test/lib/generators/devise_token_auth/install_generator_with_namespace_test.rb +30 -22
- data/test/lib/generators/devise_token_auth/install_views_generator_test.rb +1 -1
- data/test/models/user_test.rb +15 -46
- data/test/support/controllers/routes.rb +43 -0
- data/test/test_helper.rb +12 -12
- metadata +8 -14
- data/test/dummy/app/models/evil_user.rb +0 -5
- data/test/dummy/app/models/nice_user.rb +0 -9
- data/test/dummy/db/migrate/20140928231203_devise_token_auth_create_evil_users.rb +0 -66
- data/test/dummy/db/migrate/20150409095712_devise_token_auth_create_nice_users.rb +0 -63
- data/test/integration/navigation_test.rb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4979d300ecd6cc6549803714b7737e897bca1ad
|
4
|
+
data.tar.gz: 1b73b2890e2f654812585cfeded1f7b682267b36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38f0c132610a90f5e5a23d31c596e43eddbdc640deaf7a5c003901895c4045afabdc9c238e044519be04616ecc62765bf23b149c8e888d7a258e9620259c2ad0
|
7
|
+
data.tar.gz: e6cb430221c6a9218bbdf85d5bba1026d5eff253503bc3c517c1ff1bff4b36d7cde279ecc8e50810455576cfad81ac9d12594e02224fe9666ae15172a1473d8c
|
data/README.md
CHANGED
@@ -4,7 +4,6 @@
|
|
4
4
|
[](https://travis-ci.org/lynndylanhurley/devise_token_auth)
|
5
5
|
[](https://codeclimate.com/github/lynndylanhurley/devise_token_auth)
|
6
6
|
[](https://codeclimate.com/github/lynndylanhurley/devise_token_auth/coverage)
|
7
|
-
[](https://gemnasium.com/lynndylanhurley/devise_token_auth)
|
8
7
|
[](https://rubygems.org/gems/devise_token_auth)
|
9
8
|
[](#backers)
|
10
9
|
[](#sponsors)
|
@@ -50,7 +49,7 @@ Then install the gem using bundle:
|
|
50
49
|
bundle install
|
51
50
|
~~~
|
52
51
|
|
53
|
-
## [Docs](https://
|
52
|
+
## [Docs](https://devise-token-auth.gitbook.io/devise-token-auth)
|
54
53
|
|
55
54
|
## Need help?
|
56
55
|
|
data/Rakefile
CHANGED
@@ -16,11 +16,9 @@ RDoc::Task.new(:rdoc) do |rdoc|
|
|
16
16
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
17
17
|
end
|
18
18
|
|
19
|
-
APP_RAKEFILE = File.expand_path(
|
19
|
+
APP_RAKEFILE = File.expand_path('test/dummy/Rakefile', __dir__)
|
20
20
|
load 'rails/tasks/engine.rake'
|
21
21
|
|
22
|
-
|
23
|
-
|
24
22
|
Bundler::GemHelper.install_tasks
|
25
23
|
|
26
24
|
require 'rake/testtask'
|
@@ -33,5 +31,12 @@ Rake::TestTask.new(:test) do |t|
|
|
33
31
|
t.warning = false
|
34
32
|
end
|
35
33
|
|
36
|
-
|
37
34
|
task default: :test
|
35
|
+
|
36
|
+
require 'rubocop/rake_task'
|
37
|
+
|
38
|
+
desc 'Run RuboCop'
|
39
|
+
RuboCop::RakeTask.new(:rubocop) do |task|
|
40
|
+
task.formatters = %w[fuubar offenses worst]
|
41
|
+
task.fail_on_error = false # don't abort rake on failure
|
42
|
+
end
|
@@ -5,16 +5,14 @@ module DeviseTokenAuth
|
|
5
5
|
include DeviseTokenAuth::Concerns::SetUserByToken
|
6
6
|
include DeviseTokenAuth::Concerns::ResourceFinder
|
7
7
|
|
8
|
-
def resource_data(opts={})
|
8
|
+
def resource_data(opts = {})
|
9
9
|
response_data = opts[:resource_json] || @resource.as_json
|
10
|
-
if json_api?
|
11
|
-
response_data['type'] = @resource.class.name.parameterize
|
12
|
-
end
|
10
|
+
response_data['type'] = @resource.class.name.parameterize if json_api?
|
13
11
|
response_data
|
14
12
|
end
|
15
13
|
|
16
14
|
def resource_errors
|
17
|
-
|
15
|
+
@resource.errors.to_hash.merge(full_messages: @resource.errors.full_messages)
|
18
16
|
end
|
19
17
|
|
20
18
|
protected
|
@@ -44,7 +42,7 @@ module DeviseTokenAuth
|
|
44
42
|
devise_parameter_sanitizer.instance_values['permitted'][resource]
|
45
43
|
end
|
46
44
|
|
47
|
-
def resource_class(m=nil)
|
45
|
+
def resource_class(m = nil)
|
48
46
|
if m
|
49
47
|
mapping = Devise.mappings[m]
|
50
48
|
else
|
@@ -59,7 +57,7 @@ module DeviseTokenAuth
|
|
59
57
|
return ActiveModel::Serializer.setup do |config|
|
60
58
|
config.adapter == :json_api
|
61
59
|
end if ActiveModel::Serializer.respond_to?(:setup)
|
62
|
-
|
60
|
+
ActiveModelSerializers.config.adapter == :json_api
|
63
61
|
end
|
64
62
|
|
65
63
|
def recoverable_enabled?
|
@@ -23,13 +23,13 @@ module DeviseTokenAuth::Concerns::ResourceFinder
|
|
23
23
|
# fix for mysql default case insensitivity
|
24
24
|
q = "#{field.to_s} = ? AND provider='#{provider.to_s}'"
|
25
25
|
if ActiveRecord::Base.connection.adapter_name.downcase.starts_with? 'mysql'
|
26
|
-
q =
|
26
|
+
q = 'BINARY ' + q
|
27
27
|
end
|
28
28
|
|
29
29
|
@resource = resource_class.where(q, value).first
|
30
30
|
end
|
31
31
|
|
32
|
-
def resource_class(m=nil)
|
32
|
+
def resource_class(m = nil)
|
33
33
|
if m
|
34
34
|
mapping = Devise.mappings[m]
|
35
35
|
else
|
@@ -36,7 +36,7 @@ module DeviseTokenAuth::Concerns::SetUserByToken
|
|
36
36
|
end
|
37
37
|
|
38
38
|
# user auth
|
39
|
-
def set_user_by_token(mapping=nil)
|
39
|
+
def set_user_by_token(mapping = nil)
|
40
40
|
# determine target authentication class
|
41
41
|
rc = resource_class(mapping)
|
42
42
|
|
@@ -72,7 +72,7 @@ module DeviseTokenAuth::Concerns::SetUserByToken
|
|
72
72
|
return @resource if @resource && @resource.is_a?(rc)
|
73
73
|
|
74
74
|
# ensure we clear the client_id
|
75
|
-
|
75
|
+
unless @token
|
76
76
|
@client_id = nil
|
77
77
|
return
|
78
78
|
end
|
@@ -84,7 +84,7 @@ module DeviseTokenAuth::Concerns::SetUserByToken
|
|
84
84
|
|
85
85
|
if user && user.valid_token?(@token, @client_id)
|
86
86
|
# sign_in with bypass: true will be deprecated in the next version of Devise
|
87
|
-
if
|
87
|
+
if respond_to?(:bypass_sign_in) && DeviseTokenAuth.bypass_sign_in
|
88
88
|
bypass_sign_in(user, scope: :user)
|
89
89
|
else
|
90
90
|
sign_in(:user, user, store: false, event: :fetch, bypass: DeviseTokenAuth.bypass_sign_in)
|
@@ -135,13 +135,22 @@ module DeviseTokenAuth::Concerns::SetUserByToken
|
|
135
135
|
if @is_batch_request
|
136
136
|
auth_header = @resource.extend_batch_buffer(@token, @client_id)
|
137
137
|
|
138
|
+
# Do not return token for batch requests to avoid invalidated
|
139
|
+
# tokens returned to the client in case of race conditions.
|
140
|
+
# Use a blank string for the header to still be present and
|
141
|
+
# being passed in a XHR response in case of
|
142
|
+
# 304 Not Modified responses.
|
143
|
+
auth_header[DeviseTokenAuth.headers_names[:"access-token"]] = ' '
|
144
|
+
auth_header[DeviseTokenAuth.headers_names[:"expiry"]] = ' '
|
145
|
+
|
138
146
|
# update Authorization response header with new token
|
139
147
|
else
|
140
148
|
auth_header = @resource.create_new_auth_token(@client_id)
|
141
|
-
|
142
|
-
# update the response header
|
143
|
-
response.headers.merge!(auth_header)
|
144
149
|
end
|
150
|
+
|
151
|
+
# update the response header
|
152
|
+
response.headers.merge!(auth_header)
|
153
|
+
|
145
154
|
end # end lock
|
146
155
|
end # end ensure_pristine_resource
|
147
156
|
end
|
@@ -150,11 +159,10 @@ module DeviseTokenAuth::Concerns::SetUserByToken
|
|
150
159
|
|
151
160
|
private
|
152
161
|
|
153
|
-
|
154
162
|
def is_batch_request?(user, client_id)
|
155
163
|
!params[:unbatch] &&
|
156
|
-
|
157
|
-
|
158
|
-
|
164
|
+
user.tokens[client_id] &&
|
165
|
+
user.tokens[client_id]['updated_at'] &&
|
166
|
+
Time.parse(user.tokens[client_id]['updated_at']) > @request_started_at - DeviseTokenAuth.batch_request_buffer_throttle
|
159
167
|
end
|
160
168
|
end
|
@@ -18,14 +18,14 @@ module DeviseTokenAuth
|
|
18
18
|
|
19
19
|
yield @resource if block_given?
|
20
20
|
|
21
|
-
redirect_header_options = {account_confirmation_success: true}
|
21
|
+
redirect_header_options = { account_confirmation_success: true }
|
22
22
|
redirect_headers = build_redirect_headers(token,
|
23
23
|
client_id,
|
24
24
|
redirect_header_options)
|
25
25
|
redirect_to(@resource.build_auth_url(params[:redirect_url],
|
26
26
|
redirect_headers))
|
27
27
|
else
|
28
|
-
raise ActionController::RoutingError
|
28
|
+
raise ActionController::RoutingError, 'Not Found'
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
module DeviseTokenAuth
|
4
4
|
class OmniauthCallbacksController < DeviseTokenAuth::ApplicationController
|
5
|
-
|
6
5
|
attr_reader :auth_params
|
7
6
|
skip_before_action :set_user_by_token, raise: false
|
8
7
|
skip_after_action :update_auth_header
|
@@ -48,7 +47,7 @@ module DeviseTokenAuth
|
|
48
47
|
|
49
48
|
def omniauth_failure
|
50
49
|
@error = params[:message]
|
51
|
-
render_data_or_redirect('authFailure',
|
50
|
+
render_data_or_redirect('authFailure', error: @error)
|
52
51
|
end
|
53
52
|
|
54
53
|
protected
|
@@ -62,7 +61,7 @@ module DeviseTokenAuth
|
|
62
61
|
# after use. In the failure case, finally, the omniauth params
|
63
62
|
# are added as query params in our monkey patch to OmniAuth in engine.rb
|
64
63
|
def omniauth_params
|
65
|
-
|
64
|
+
unless defined?(@_omniauth_params)
|
66
65
|
if request.env['omniauth.params'] && request.env['omniauth.params'].any?
|
67
66
|
@_omniauth_params = request.env['omniauth.params']
|
68
67
|
elsif session['dta.omniauth.params'] && session['dta.omniauth.params'].any?
|
@@ -88,13 +87,11 @@ module DeviseTokenAuth
|
|
88
87
|
def whitelisted_params
|
89
88
|
whitelist = params_for_resource(:sign_up)
|
90
89
|
|
91
|
-
whitelist.inject({})
|
90
|
+
whitelist.inject({}) do |coll, key|
|
92
91
|
param = omniauth_params[key.to_s]
|
93
|
-
if param
|
94
|
-
coll[key] = param
|
95
|
-
end
|
92
|
+
coll[key] = param if param
|
96
93
|
coll
|
97
|
-
|
94
|
+
end
|
98
95
|
end
|
99
96
|
|
100
97
|
def resource_class(mapping = nil)
|
@@ -103,7 +100,7 @@ module DeviseTokenAuth
|
|
103
100
|
elsif params['resource_class']
|
104
101
|
params['resource_class'].constantize
|
105
102
|
else
|
106
|
-
raise
|
103
|
+
raise 'No resource_class found'
|
107
104
|
end
|
108
105
|
end
|
109
106
|
|
@@ -151,10 +148,10 @@ module DeviseTokenAuth
|
|
151
148
|
|
152
149
|
def set_random_password
|
153
150
|
# set crazy password for new oauth users. this is only used to prevent
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
151
|
+
# access via email sign-in.
|
152
|
+
p = SecureRandom.urlsafe_base64(nil, false)
|
153
|
+
@resource.password = p
|
154
|
+
@resource.password_confirmation = p
|
158
155
|
end
|
159
156
|
|
160
157
|
def create_auth_params
|
@@ -175,10 +172,8 @@ module DeviseTokenAuth
|
|
175
172
|
end
|
176
173
|
|
177
174
|
def render_data(message, data)
|
178
|
-
@data = data.merge(
|
179
|
-
|
180
|
-
})
|
181
|
-
render :layout => nil, :template => "devise_token_auth/omniauth_external_window"
|
175
|
+
@data = data.merge(message: message)
|
176
|
+
render layout: nil, template: 'devise_token_auth/omniauth_external_window'
|
182
177
|
end
|
183
178
|
|
184
179
|
def render_data_or_redirect(message, data, user_data = {})
|
@@ -209,22 +204,22 @@ module DeviseTokenAuth
|
|
209
204
|
end
|
210
205
|
|
211
206
|
def fallback_render(text)
|
212
|
-
render inline: %Q
|
207
|
+
render inline: %Q(
|
213
208
|
|
214
209
|
<html>
|
215
210
|
<head></head>
|
216
211
|
<body>
|
217
212
|
#{text}
|
218
213
|
</body>
|
219
|
-
</html
|
214
|
+
</html>)
|
220
215
|
end
|
221
216
|
|
222
217
|
def get_resource_from_auth_hash
|
223
218
|
# find or create user by provider and provider uid
|
224
|
-
@resource = resource_class.where(
|
225
|
-
uid:
|
219
|
+
@resource = resource_class.where(
|
220
|
+
uid: auth_hash['uid'],
|
226
221
|
provider: auth_hash['provider']
|
227
|
-
|
222
|
+
).first_or_initialize
|
228
223
|
|
229
224
|
if @resource.new_record?
|
230
225
|
@oauth_registration = true
|
@@ -240,6 +235,5 @@ module DeviseTokenAuth
|
|
240
235
|
|
241
236
|
@resource
|
242
237
|
end
|
243
|
-
|
244
238
|
end
|
245
239
|
end
|
@@ -2,21 +2,19 @@
|
|
2
2
|
|
3
3
|
module DeviseTokenAuth
|
4
4
|
class PasswordsController < DeviseTokenAuth::ApplicationController
|
5
|
-
before_action :set_user_by_token, :
|
6
|
-
skip_after_action :update_auth_header, :
|
5
|
+
before_action :set_user_by_token, only: [:update]
|
6
|
+
skip_after_action :update_auth_header, only: [:create, :edit]
|
7
7
|
|
8
8
|
# this action is responsible for generating password reset tokens and
|
9
9
|
# sending emails
|
10
10
|
def create
|
11
|
-
unless resource_params[:email]
|
12
|
-
return render_create_error_missing_email
|
13
|
-
end
|
11
|
+
return render_create_error_missing_email unless resource_params[:email]
|
14
12
|
|
15
13
|
# give redirect value from params priority
|
16
14
|
@redirect_url = params.fetch(
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
:redirect_url,
|
16
|
+
DeviseTokenAuth.default_password_reset_url
|
17
|
+
)
|
20
18
|
|
21
19
|
return render_create_error_missing_redirect_url unless @redirect_url
|
22
20
|
return render_create_error_not_allowed_redirect_url if blacklisted_redirect_url?
|
@@ -26,12 +24,12 @@ module DeviseTokenAuth
|
|
26
24
|
|
27
25
|
if @resource
|
28
26
|
yield @resource if block_given?
|
29
|
-
@resource.send_reset_password_instructions(
|
27
|
+
@resource.send_reset_password_instructions(
|
30
28
|
email: @email,
|
31
29
|
provider: 'email',
|
32
30
|
redirect_url: @redirect_url,
|
33
31
|
client_config: params[:config_name]
|
34
|
-
|
32
|
+
)
|
35
33
|
|
36
34
|
if @resource.errors.empty?
|
37
35
|
return render_create_success
|
@@ -61,7 +59,7 @@ module DeviseTokenAuth
|
|
61
59
|
|
62
60
|
yield @resource if block_given?
|
63
61
|
|
64
|
-
redirect_header_options = {reset_password: true}
|
62
|
+
redirect_header_options = { reset_password: true }
|
65
63
|
redirect_headers = build_redirect_headers(token,
|
66
64
|
client_id,
|
67
65
|
redirect_header_options)
|
@@ -74,9 +72,7 @@ module DeviseTokenAuth
|
|
74
72
|
|
75
73
|
def update
|
76
74
|
# make sure user is authorized
|
77
|
-
unless @resource
|
78
|
-
return render_update_error_unauthorized
|
79
|
-
end
|
75
|
+
return render_update_error_unauthorized unless @resource
|
80
76
|
|
81
77
|
# make sure account doesn't use oauth2 provider
|
82
78
|
unless @resource.provider == 'email'
|
@@ -104,18 +100,18 @@ module DeviseTokenAuth
|
|
104
100
|
def resource_update_method
|
105
101
|
allow_password_change = recoverable_enabled? && @resource.allow_password_change == true
|
106
102
|
if DeviseTokenAuth.check_current_password_before_update == false || allow_password_change
|
107
|
-
|
103
|
+
'update_attributes'
|
108
104
|
else
|
109
|
-
|
105
|
+
'update_with_password'
|
110
106
|
end
|
111
107
|
end
|
112
108
|
|
113
109
|
def render_create_error_missing_email
|
114
|
-
render_error(401, I18n.t(
|
110
|
+
render_error(401, I18n.t('devise_token_auth.passwords.missing_email'))
|
115
111
|
end
|
116
112
|
|
117
113
|
def render_create_error_missing_redirect_url
|
118
|
-
render_error(401, I18n.t(
|
114
|
+
render_error(401, I18n.t('devise_token_auth.passwords.missing_redirect_url'))
|
119
115
|
end
|
120
116
|
|
121
117
|
def render_create_error_not_allowed_redirect_url
|
@@ -123,26 +119,26 @@ module DeviseTokenAuth
|
|
123
119
|
status: 'error',
|
124
120
|
data: resource_data
|
125
121
|
}
|
126
|
-
message = I18n.t(
|
122
|
+
message = I18n.t('devise_token_auth.passwords.not_allowed_redirect_url', redirect_url: @redirect_url)
|
127
123
|
render_error(422, message, response)
|
128
124
|
end
|
129
125
|
|
130
126
|
def render_create_success
|
131
127
|
render json: {
|
132
128
|
success: true,
|
133
|
-
message: I18n.t(
|
129
|
+
message: I18n.t('devise_token_auth.passwords.sended', email: @email)
|
134
130
|
}
|
135
131
|
end
|
136
132
|
|
137
133
|
def render_create_error(errors)
|
138
134
|
render json: {
|
139
135
|
success: false,
|
140
|
-
errors: errors
|
136
|
+
errors: errors
|
141
137
|
}, status: 400
|
142
138
|
end
|
143
139
|
|
144
140
|
def render_edit_error
|
145
|
-
raise ActionController::RoutingError
|
141
|
+
raise ActionController::RoutingError, 'Not Found'
|
146
142
|
end
|
147
143
|
|
148
144
|
def render_update_error_unauthorized
|
@@ -150,23 +146,23 @@ module DeviseTokenAuth
|
|
150
146
|
end
|
151
147
|
|
152
148
|
def render_update_error_password_not_required
|
153
|
-
render_error(422, I18n.t(
|
149
|
+
render_error(422, I18n.t('devise_token_auth.passwords.password_not_required', provider: @resource.provider.humanize))
|
154
150
|
end
|
155
151
|
|
156
152
|
def render_update_error_missing_password
|
157
|
-
render_error(422, I18n.t(
|
153
|
+
render_error(422, I18n.t('devise_token_auth.passwords.missing_passwords'))
|
158
154
|
end
|
159
155
|
|
160
156
|
def render_update_success
|
161
157
|
render json: {
|
162
158
|
success: true,
|
163
159
|
data: resource_data,
|
164
|
-
message: I18n.t(
|
160
|
+
message: I18n.t('devise_token_auth.passwords.successfully_updated')
|
165
161
|
}
|
166
162
|
end
|
167
163
|
|
168
164
|
def render_update_error
|
169
|
-
|
165
|
+
render json: {
|
170
166
|
success: false,
|
171
167
|
errors: resource_errors
|
172
168
|
}, status: 422
|
@@ -190,7 +186,7 @@ module DeviseTokenAuth
|
|
190
186
|
end
|
191
187
|
|
192
188
|
def render_not_found_error
|
193
|
-
render_error(404, I18n.t(
|
189
|
+
render_error(404, I18n.t('devise_token_auth.passwords.user_not_found', email: @email))
|
194
190
|
end
|
195
191
|
end
|
196
192
|
end
|