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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f80c0ac4a5aebd20024637e6db468fc097cfc2446a9fdd9dc7410a918263039d
4
- data.tar.gz: 62371a45706e77cf5c34fe8dad425a33f62b08900d4f63fb6706a45e67c33a9b
3
+ metadata.gz: 237b14cde57c3e487b24109830a9fece4b0adacc7258bdaf137fc223837d2ed7
4
+ data.tar.gz: 39131607c8da262ac2f0a9a9c8252e5f6d4ffa7463df8b89976c5ad3d72cede3
5
5
  SHA512:
6
- metadata.gz: f0b39b235144075c36ace2437d197febc254fe2e7fcd0904bae8ae54bfe00d43b04acb63e191c4f813e557ed507048430842c43c9c26711cfedd83f7ff1afcb0
7
- data.tar.gz: 1a8b182ad6efd8d377c9e731c42d68bad7dfe8e6b8f74fe75b5c805aa6ab8d9ed33e8fd6203e2d52d56e2d8517c14e768bd3bf6b7c93b9ef6df7022463022d5f
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
- # Store JWT in server-side session instead of cookies to avoid header size limits
20
- session[:aviate_jwt_token] = response['token']
21
- session[:aviate_jwt_expires_at] = 1.hour.from_now.to_i
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.delete(:aviate_jwt_token)
32
- session.delete(:aviate_jwt_expires_at)
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Aviate
4
- VERSION = '1.1.0.pre.5'
4
+ VERSION = '1.1.0.pre.6'
5
5
  end
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.5
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-16 00:00:00.000000000 Z
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