quo_vadis 2.1.4 → 2.1.5

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: c0b470ad4482010d9774287306051d802625c95fa5e20675a12bf4537e71d939
4
- data.tar.gz: 67574e42473e4c87dc112f7e7ced2104c8df54a8a02e7befcedad6e806d136a4
3
+ metadata.gz: d01da21fdfe58d00e4f073036f53df4e0da212a9b202c31bf9fe9ed162e2e2d5
4
+ data.tar.gz: f9b7b777065c7b4e1c83ed54330bc08608cc6020f55f1b72d316de5a1e4e06f5
5
5
  SHA512:
6
- metadata.gz: debe3294db5262b56514b9ece8181464783521f475c4472a43dd4555739cd97fd81bea5fde66e700be8a75ada62ee554d4374aa196bfcb063bc9ecfcd989d1cf
7
- data.tar.gz: 00f90c64fd56cec727ba364d784de3928e68e5d34eb5fca1fd56382c77289c0d6c5a4be7396687e1e175d5dc66c4473e00ae77b8b6f52c56def2496e0abeab40
6
+ metadata.gz: d3daf72be8a7e1a4545bc8dc7acd77553c62933dd5837e78679a7581cf44356822fbecf4036d5cd8cac5648636a5077e1edd5cb8d6e804ea7c9d55c10b36dc6e
7
+ data.tar.gz: eee0046f0ae978f537f85946946cb4fe0267fd866216108f226411a3df479cb1b7e9c5c334d120a9107298ce9c30f3b8b6736dcaf6248a9c4a5e23a34962bc2e
data/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@
4
4
  ## HEAD
5
5
 
6
6
 
7
+ ## 2.1.5 (27 May 2022)
8
+
9
+ * Order sessions list and display more information.
10
+ * Set status 303 See Other on destroy redirects.
11
+ * Streamline bundler instructions.
12
+
13
+
14
+ ## 2.1.4 (2 October 2021)
15
+
16
+ * Allow metadata for login log.
17
+
18
+
7
19
  ## 2.1.3 (30 September 2021)
8
20
 
9
21
  * Pass IP and timestamp as paramenters to mailer.
data/README.md CHANGED
@@ -37,11 +37,9 @@ Simple to integrate into your application. The main task is customising the exa
37
37
  Add the gem to your Gemfile:
38
38
 
39
39
  ```ruby
40
- gem 'quo_vadis', '~> 2.0'
40
+ bundle add 'quo_vadis'
41
41
  ```
42
42
 
43
- Then run `bundle install`.
44
-
45
43
  Next, add the database tables:
46
44
 
47
45
  ```
@@ -9,7 +9,7 @@ module QuoVadis
9
9
 
10
10
  def index
11
11
  @qv_session = qv.session
12
- @qv_sessions = @qv_session.account.sessions
12
+ @qv_sessions = @qv_session.account.sessions.new_to_old
13
13
  end
14
14
 
15
15
 
@@ -58,12 +58,12 @@ module QuoVadis
58
58
  current_qv_session.account.sessions.destroy params[:id]
59
59
  qv.log current_qv_session.account, Log::LOGOUT_OTHER
60
60
  flash[:notice] = QuoVadis.translate 'flash.logout.other'
61
- redirect_to action: :index
61
+ redirect_to action: :index, status: :see_other
62
62
  else # this session
63
63
  qv.log authenticated_model.qv_account, Log::LOGOUT
64
64
  qv.logout
65
65
  flash[:notice] = QuoVadis.translate 'flash.logout.self'
66
- redirect_to main_app.root_path
66
+ redirect_to main_app.root_path, status: :see_other
67
67
  end
68
68
  end
69
69
 
@@ -14,7 +14,7 @@ module QuoVadis
14
14
  account.sessions.each &:reset_authenticated_with_second_factor # OWASP ASV v4.0, 2.8.6
15
15
  qv.log account, Log::TWOFA_DEACTIVATED
16
16
  QuoVadis.notify :twofa_deactivated_notification, email: authenticated_model.email
17
- redirect_to twofa_path, notice: QuoVadis.translate('flash.2fa.invalidated')
17
+ redirect_to twofa_path, notice: QuoVadis.translate('flash.2fa.invalidated'), status: :see_other
18
18
  end
19
19
 
20
20
  private
@@ -9,6 +9,7 @@ module QuoVadis
9
9
 
10
10
  belongs_to :account
11
11
  validates :ip, presence: true
12
+ scope :new_to_old, -> { order create_at: :desc }
12
13
 
13
14
  attribute :last_seen_at, :datetime, default: -> { Time.now.utc }
14
15
 
@@ -3,6 +3,9 @@
3
3
  <table>
4
4
  <thead>
5
5
  <tr>
6
+ <th>Signed in</th>
7
+ <th>Last seen</th>
8
+ <th>2FA used</th>
6
9
  <th>IP</th>
7
10
  <th>User agent</th>
8
11
  <th></th>
@@ -11,6 +14,9 @@
11
14
  <tbody>
12
15
  <% @qv_sessions.each do |sess| %>
13
16
  <tr>
17
+ <td><time datetime="<%= sess.created_at.to_formatted_s(:iso_8601) %>"><%= sess.created_at.to_formatted_s('%-d %B %Y') %></time></td>
18
+ <td><time datetime="<%= sess.last_seen_at.to_formatted_s(:iso_8601) %>"><%= sess.last_seen_at.to_formatted_s('%-d %B %Y') %></time></td>
19
+ <td><%= sess.second_factor_authenticated? ? 'Yes' : 'No' %></td>
14
20
  <td><%= sess.ip %></td>
15
21
  <td><%= sess.user_agent %></td>
16
22
  <td>
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module QuoVadis
4
- VERSION = '2.1.4'
4
+ VERSION = '2.1.5'
5
5
  end
data/quo_vadis.gemspec CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ['Andy Stewart']
9
9
  spec.email = ['boss@airbladesoftware.com']
10
10
 
11
- spec.summary = 'Multifactor authentication for Rails 6.'
11
+ spec.summary = 'Multifactor authentication for Rails 6 and 7.'
12
12
  spec.homepage = 'https://github.com/airblade/quo_vadis'
13
13
  spec.license = 'MIT'
14
14
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quo_vadis
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.4
4
+ version: 2.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Stewart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-02 00:00:00.000000000 Z
11
+ date: 2022-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -224,8 +224,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
224
224
  - !ruby/object:Gem::Version
225
225
  version: '0'
226
226
  requirements: []
227
- rubygems_version: 3.1.2
227
+ rubygems_version: 3.2.22
228
228
  signing_key:
229
229
  specification_version: 4
230
- summary: Multifactor authentication for Rails 6.
230
+ summary: Multifactor authentication for Rails 6 and 7.
231
231
  test_files: []