devise_code_authenticatable 0.2.4 → 0.2.6

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: 802cb621d38b1a1a2d105a2fb1861d33a6ccf86f1cdff22a160f7bf7b0263d8a
4
- data.tar.gz: 2b84e12d2ca615676d14959a302c9237b5261a564e6b3680c8af6fdfc339e4d9
3
+ metadata.gz: '099b2a3088add3c99894f9da1b3591f17921fa587aef4a177fa61a1439e26f52'
4
+ data.tar.gz: 6d11c69d80ebe474c2092e1c71dbe99366c6a016dd233edb5a51a80276aa8e02
5
5
  SHA512:
6
- metadata.gz: 242ca71ae2d6038956c38b7874c027a9b1e8ecb34deb4e7f14cea470eead8b1e34679e99f3d587824df16546b9085f0c4688f97092a6749ff4119ae41e7d86fb
7
- data.tar.gz: 361444707ec37d0c5780f8d5f2081baa33f3064b4d8c46010431b5886b15fc87fa0e09e30b672746e925461e304cbcfa318c0f4f76d82f71b88aa7cdd24f6308
6
+ metadata.gz: dcc94d1f25ae0d6f9ec43747bb62ca12d4f75ef4230f75a00136a2ed61a93369054a0bd973aba6c8e86db0ca767ad3a62988f8dd5ef7a8763f02e4e16745718a
7
+ data.tar.gz: 151611f8921a90d82144a6fbc6c8acc6396a3651afd62a2b2a7e40890e70653fc69fa1cc99a193bbfbbec9095fde61d07bc985b7568ac1cbbdf19e6fa0bfbf2e
@@ -1,11 +1,12 @@
1
1
  class Devise::LoginCodesController < DeviseController
2
2
  prepend_before_action :allow_params_authentication!, only: :verify
3
3
 
4
- def verify(&block)
5
- self.resource = warden.authenticate!(auth_options, &block)
4
+ def verify
5
+ self.resource = warden.authenticate!(auth_options)
6
6
  set_flash_message!(:notice, :signed_in)
7
7
  sign_in(resource_name, resource)
8
- respond_with resource, location: after_sign_in_path_for(resource)
8
+ redirect_to after_sign_in_path_for(resource)
9
+
9
10
  end
10
11
 
11
12
  def show
@@ -18,9 +19,8 @@ class Devise::LoginCodesController < DeviseController
18
19
  @login_code = LoginCode.find(params[:id])
19
20
  self.resource = @login_code.resource.send_code_login_instructions
20
21
  if successfully_sent?(resource)
22
+ redirect_to after_sending_login_code_path_for(resource_name, resource)
21
23
  end
22
-
23
- redirect_to after_sending_login_code_path_for(resource_name, resource)
24
24
  end
25
25
 
26
26
  protected
@@ -4,11 +4,12 @@ class DeviseCodeAuthenticatable::SessionsController < Devise::SessionsController
4
4
  self.resource = resource_class.send_code_login_instructions(resource_params)
5
5
  yield resource if block_given?
6
6
 
7
+ flash.clear
7
8
  if successfully_sent?(resource)
8
- respond_with(resource, location: after_sending_login_code_path_for(resource_name, resource))
9
+ respond_with resource, location: after_sending_login_code_path_for(resource_name, resource)
9
10
  else
10
11
  set_flash_message!(:alert, "send_mail_failed")
11
- respond_with(resource)
12
+ respond_with resource, location: after_sign_in_path_for(resource)
12
13
  end
13
14
 
14
15
  end
@@ -6,21 +6,18 @@ zh-CN:
6
6
  show:
7
7
  sign_in: 登录
8
8
  resend_code: 重新发送验证码
9
- user:
10
- signed_in: 登录成功
11
- send_instructions: "邮件发送成功!"
9
+ signed_in: 登录成功
10
+ send_instructions: 邮件发送成功!
12
11
  sessions:
12
+ send_instructions: 邮件发送成功!
13
+ send_mail_failed: 邮件发送失败
14
+ signed_in: 登录成功!
13
15
  new:
14
16
  send_code: 发送验证码
15
- user:
16
- send_instructions: 邮件发送成功!
17
- send_mail_failed: 邮件发送失败
18
- signed_in: 登录成功!
19
17
  mailer:
20
18
  login_code:
21
19
  submit: 登录验证码
22
20
  your_login_code: "您的登录验证码为: %{code}"
23
21
  failure:
24
- user:
25
- login_code_expired: 验证码过期,已重新发送验证码
26
- invalid_login_code: 验证码错误
22
+ login_code_expired: 该验证码已过期,请重新获取验证码
23
+ invalid_login_code: 验证码错误
@@ -0,0 +1,11 @@
1
+ module DeviseCodeAuthenticatable
2
+ module FailureAppExt
3
+ def redirect_url
4
+ if warden_message == :invalid_login_code
5
+ request.referrer || super
6
+ else
7
+ super
8
+ end
9
+ end
10
+ end
11
+ end
@@ -20,7 +20,7 @@ module DeviseCodeAuthenticatable
20
20
  return false
21
21
  end
22
22
 
23
- self.retry_times += 1; save
23
+ self.retry_times += 1; save!
24
24
  self.code == code
25
25
  end
26
26
 
@@ -18,6 +18,7 @@ module DeviseCodeAuthenticatable
18
18
  config.after_initialize do
19
19
  Devise::Mapping.send :prepend, DeviseCodeAuthenticatable::Mapping
20
20
  Devise::ParameterSanitizer.send :prepend, DeviseCodeAuthenticatable::ParameterSanitizer
21
+ Devise::FailureApp.send :prepend, DeviseCodeAuthenticatable::FailureAppExt
21
22
  end
22
23
  end
23
24
  end
@@ -6,7 +6,6 @@ module DeviseCodeAuthenticatable
6
6
 
7
7
  def authenticate!
8
8
  resource = mapping.to.find_for_authentication(authentication_hash)
9
- hashed = false
10
9
  login_code = params[scope].fetch "login_code", ""
11
10
 
12
11
  if resource.nil?
@@ -22,7 +21,7 @@ module DeviseCodeAuthenticatable
22
21
  fail(:login_code_expired); return
23
22
  end
24
23
 
25
- if validate(resource){ hashed = true; resource.login_codes.last.verify(login_code) }
24
+ if validate(resource){ resource.login_codes.last.verify(login_code) }
26
25
  remember_me(resource)
27
26
  yield resource if block_given?
28
27
  resource.after_code_authentication
@@ -1,3 +1,3 @@
1
1
  module DeviseCodeAuthenticatable
2
- VERSION = '0.2.4'
2
+ VERSION = '0.2.6'
3
3
  end
@@ -3,6 +3,7 @@ module DeviseCodeAuthenticatable
3
3
  autoload :Mailer, 'devise_code_authenticatable/mailer'
4
4
  autoload :Mapping, 'devise_code_authenticatable/mapping'
5
5
  autoload :ParameterSanitizer, 'devise_code_authenticatable/parameter_sanitizer'
6
+ autoload :FailureAppExt, 'devise_code_authenticatable/failure_app_ext'
6
7
  module Controllers
7
8
  autoload :Sessions, 'devise_code_authenticatable/controllers/sessions'
8
9
  autoload :Helpers, 'devise_code_authenticatable/controllers/helpers'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_code_authenticatable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - vincentying15
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-10 00:00:00.000000000 Z
11
+ date: 2023-10-13 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Devise plugin to allow sign in by email sent code
14
14
  email:
@@ -30,6 +30,7 @@ files:
30
30
  - config/locales/zh-CN.yml
31
31
  - lib/devise_code_authenticatable.rb
32
32
  - lib/devise_code_authenticatable/controllers/helpers.rb
33
+ - lib/devise_code_authenticatable/failure_app_ext.rb
33
34
  - lib/devise_code_authenticatable/login_code.rb
34
35
  - lib/devise_code_authenticatable/mailer.rb
35
36
  - lib/devise_code_authenticatable/mapping.rb