killbill-aviate 1.1.0.pre.5 → 1.1.0.pre.6
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 +4 -4
- data/app/controllers/aviate/configuration_controller.rb +12 -15
- data/lib/aviate/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 237b14cde57c3e487b24109830a9fece4b0adacc7258bdaf137fc223837d2ed7
|
|
4
|
+
data.tar.gz: 39131607c8da262ac2f0a9a9c8252e5f6d4ffa7463df8b89976c5ad3d72cede3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4aec8c79ef28c8b01c66e86addec6291948913247665dd40581c3e256aef700ba2fa6fed39712d92105e68508f2ab568f1562cd55ff25b9fc8d8bb01a4f616fb
|
|
7
|
+
data.tar.gz: 6e008e248edac89eb61fd9586357260faa5729bb1b71c5f8834e605e8caf97a0ee511686e55c411ba22869510fa538e3be5f0922b4cac2cb187dc2db3b932450
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'aviate/client'
|
|
4
|
+
require 'securerandom'
|
|
5
|
+
|
|
4
6
|
module Aviate
|
|
5
7
|
class ConfigurationController < Aviate::EngineController
|
|
6
|
-
before_action :cleanup_expired_jwt
|
|
7
8
|
|
|
8
9
|
def index
|
|
9
10
|
@available = Killbill::Aviate::AviateClient.aviate_plugin_available?(options_for_klient).first
|
|
@@ -16,9 +17,11 @@ module Aviate
|
|
|
16
17
|
response = Killbill::Aviate::AviateClient.authenticate(email, password, cached_options_for_klient)
|
|
17
18
|
|
|
18
19
|
if response.is_a?(Hash) && response['token']
|
|
19
|
-
|
|
20
|
-
session[:
|
|
21
|
-
|
|
20
|
+
reference_token = SecureRandom.hex(16)
|
|
21
|
+
session[:aviate_token_ref] = reference_token
|
|
22
|
+
|
|
23
|
+
# Store actual JWT in Rails cache using the reference token
|
|
24
|
+
Rails.cache.write("aviate_jwt_#{reference_token}", response['token'], expires_in: 1.hour)
|
|
22
25
|
flash[:notice] = "Successfully authenticated with Aviate"
|
|
23
26
|
else
|
|
24
27
|
flash[:error] = "Authentication failed. Please check your credentials."
|
|
@@ -28,19 +31,13 @@ module Aviate
|
|
|
28
31
|
end
|
|
29
32
|
|
|
30
33
|
def session_destroy
|
|
31
|
-
session.
|
|
32
|
-
|
|
34
|
+
if session[:aviate_token_ref].present?
|
|
35
|
+
jwt_cache_key = "aviate_jwt_#{session[:aviate_token_ref]}"
|
|
36
|
+
Rails.cache.delete(jwt_cache_key)
|
|
37
|
+
session.delete(:aviate_token_ref)
|
|
38
|
+
end
|
|
33
39
|
flash[:notice] = "Successfully logged out from Aviate"
|
|
34
40
|
redirect_to aviate_root_path
|
|
35
41
|
end
|
|
36
|
-
|
|
37
|
-
private
|
|
38
|
-
|
|
39
|
-
def cleanup_expired_jwt
|
|
40
|
-
if session[:aviate_jwt_expires_at] && session[:aviate_jwt_expires_at] < Time.current.to_i
|
|
41
|
-
session.delete(:aviate_jwt_token)
|
|
42
|
-
session.delete(:aviate_jwt_expires_at)
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
42
|
end
|
|
46
43
|
end
|
data/lib/aviate/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: killbill-aviate
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.0.pre.
|
|
4
|
+
version: 1.1.0.pre.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kill Bill core team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-10-
|
|
11
|
+
date: 2025-10-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: killbill-assets-ui
|