quo_vadis 2.1.4 → 2.1.5

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.
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: []