devise_code_authenticatable 0.2.4 → 0.2.7

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: e08a88d16136e63000624d73bf64ce578144d6562a57bc69873737014f06db28
4
+ data.tar.gz: d6744eb1d80ee200e8ee2d0b26a402e211680270640a2842022d7bffafa1a5f1
5
5
  SHA512:
6
- metadata.gz: 242ca71ae2d6038956c38b7874c027a9b1e8ecb34deb4e7f14cea470eead8b1e34679e99f3d587824df16546b9085f0c4688f97092a6749ff4119ae41e7d86fb
7
- data.tar.gz: 361444707ec37d0c5780f8d5f2081baa33f3064b4d8c46010431b5886b15fc87fa0e09e30b672746e925461e304cbcfa318c0f4f76d82f71b88aa7cdd24f6308
6
+ metadata.gz: 5fbde8f5031292f522e6d91325176a5a318a03efd72b62c084db28eca8699c3a0a427d90099c9afb294c02ba4ab4886e2782e402bc2c9b16314a83db085318f0
7
+ data.tar.gz: cbe97ca7607c636841e42d2acc9b63ecb8df9335b1e657b210a7c640da518ed5d2ebacf7c429b91069839df34ccc6508c8563075789c3228ed553675eb05a4a2
@@ -1,11 +1,14 @@
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
+
9
+ yield resource if block_given?
10
+
11
+ redirect_to after_sign_in_path_for(resource)
9
12
  end
10
13
 
11
14
  def show
@@ -18,9 +21,8 @@ class Devise::LoginCodesController < DeviseController
18
21
  @login_code = LoginCode.find(params[:id])
19
22
  self.resource = @login_code.resource.send_code_login_instructions
20
23
  if successfully_sent?(resource)
24
+ redirect_to after_sending_login_code_path_for(resource_name, resource)
21
25
  end
22
-
23
- redirect_to after_sending_login_code_path_for(resource_name, resource)
24
26
  end
25
27
 
26
28
  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.7'
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.7
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-16 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