gamora 0.9.0 → 0.11.0

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: 6fff76821e79e75149f4d407303a9b52dac3b68ac711ffc38ac4e8d517ab7225
4
- data.tar.gz: 4f5d52c9ef04b8d1219ca84a28fe25d3bb0dad677d97edc7c863d3c039a9e8d4
3
+ metadata.gz: e35b31caf66937012f903a789beed12bac91e7e7a809a3e08fd3f1afc69cad19
4
+ data.tar.gz: f4ec146d7b34b0e6f011f923998d4abfefac5c6ebb421eb4b6eb650d40f63898
5
5
  SHA512:
6
- metadata.gz: eaec688075667ad6184c0567aa2637480a1781e50e5a7bb9448ba27f0b39cc969f42d83374afb5c1c2a5ccc1a339cfc95c553e71492e1e0de65a836f247bde45
7
- data.tar.gz: a7d1eadca9cd826bcb13f22c01e332324199877fd9e43285e3daae60a6b3ce29102f3beeccfb20db200563d7a6a90c8ae7dfe25d4097e9cb6fd8a2762ef9f0bb
6
+ metadata.gz: c71974d1b67d1d7ba20cebc8d5df51b1a948400a18aa74f3e39d37f4cd74f80c8675ab1388d067f8917d69ca31efca6893396a4efcddf3bcc1a95a0241267731
7
+ data.tar.gz: b1c6c5a879a035bc768e4c98a9f67d42d5f8e80aa9e0f42aff1fd6dfeacb02bd2611967b171471f328595cf38a73c676bfd08bc51087614dd83380eeb2a95f6b
data/README.md CHANGED
@@ -115,6 +115,23 @@ Optionally, if you want to do something different when authentication
115
115
  fails, you just need to override the `user_authentication_failed!`
116
116
  method in you controller and customize it as you wish.
117
117
 
118
+ ## Caching
119
+
120
+ In order to avoid performing requests to the IDP on each request in the
121
+ application, it is possible to set a caching time for introspection and
122
+ userinfo endpoints. Make sure to not have a too long expiration time for
123
+ `introspect_cache_expires_in` but not too short to impact the application
124
+ performance, it is a balance.
125
+
126
+ ```ruby
127
+ Gamora.setup do |config|
128
+ ...
129
+
130
+ config.userinfo_cache_expires_in = 10.minute
131
+ config.introspect_cache_expires_in = 5.seconds
132
+ end
133
+ ```
134
+
118
135
  ## Development
119
136
 
120
137
  After checking out the repo, run `bin/setup` to install dependencies. Then,
@@ -7,6 +7,7 @@ module Gamora
7
7
  sub: :id,
8
8
  roles: :roles,
9
9
  email: :email,
10
+ username: :username,
10
11
  given_name: :first_name,
11
12
  family_name: :last_name,
12
13
  phone_number: :phone_number,
@@ -41,15 +42,7 @@ module Gamora
41
42
  end
42
43
 
43
44
  def valid_token_data?(token_data)
44
- token_data[:active] && whitelisted_client?(token_data[:client_id])
45
- end
46
-
47
- def whitelisted_client?(client_id)
48
- whitelisted_clients.include?(client_id)
49
- end
50
-
51
- def whitelisted_clients
52
- Configuration.whitelisted_clients | [Configuration.client_id]
45
+ token_data[:active]
53
46
  end
54
47
 
55
48
  def assign_current_user_from_claims(claims)
@@ -19,7 +19,6 @@ module Gamora
19
19
  mattr_accessor :ui_locales, default: -> { I18n.locale }
20
20
  mattr_accessor :userinfo_cache_expires_in, default: 1.minute
21
21
  mattr_accessor :introspect_cache_expires_in, default: 0.seconds
22
- mattr_accessor :whitelisted_clients, default: []
23
22
 
24
23
  def setup
25
24
  yield(self) if block_given?
data/lib/gamora/user.rb CHANGED
@@ -7,6 +7,7 @@ module Gamora
7
7
  attr_accessor :id,
8
8
  :roles,
9
9
  :email,
10
+ :username,
10
11
  :last_name,
11
12
  :first_name,
12
13
  :phone_number,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gamora
4
- VERSION = "0.9.0"
4
+ VERSION = "0.11.0"
5
5
  end
@@ -21,5 +21,4 @@ Gamora.setup do |config|
21
21
  # config.ui_locales = -> { I18n.locale }
22
22
  # config.userinfo_cache_expires_in = 1.minute
23
23
  # config.introspect_cache_expires_in = 0.seconds
24
- # config.whitelisted_clients = []
25
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamora
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alejandro Gutiérrez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-24 00:00:00.000000000 Z
11
+ date: 2024-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2