Module: KeycloakApiRails
- Defined in:
- lib/keycloak-api-rails.rb,
lib/keycloak-api-rails/helper.rb,
lib/keycloak-api-rails/railtie.rb,
lib/keycloak-api-rails/service.rb,
lib/keycloak-api-rails/testing.rb,
lib/keycloak-api-rails/version.rb,
lib/keycloak-api-rails/middleware.rb,
lib/keycloak-api-rails/http_client.rb,
lib/keycloak-api-rails/token_error.rb,
lib/keycloak-api-rails/configuration.rb,
lib/keycloak-api-rails/authentication.rb,
lib/keycloak-api-rails/public_key_resolver.rb,
lib/keycloak-api-rails/public_key_cached_resolver.rb
Defined Under Namespace
Modules: Authentication, Testing
Classes: Configuration, HTTPClient, HTTPError, Helper, InvalidConfigurationError, Middleware, MissingPublicKeysError, PublicKeyCachedResolver, PublicKeyResolver, Railtie, Service, TokenError
Constant Summary
collapse
- MONITOR =
These objects are memoized lazily, on the first request each process serves -- which several
threads of a threaded server reach at the same time. A Monitor rather than a Mutex: the
memoizations nest, 'service' needing 'public_key_resolver', which needs 'http_client'.
Monitor.new
- VERSION =
"2.0.0"
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
30
31
32
|
# File 'lib/keycloak-api-rails.rb', line 30
def self.config
@configuration
end
|
.load_configuration ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/keycloak-api-rails.rb', line 60
def self.load_configuration
configure do |config|
config.server_url = nil
config.realm_id = nil
config.logger = ::Logger.new(STDOUT)
config.skip_paths = {}
config.opt_in = false
config.token_expiration_tolerance_in_seconds = 10
config.public_key_cache_ttl = 86400
config.custom_attributes = []
config.ca_certificate_file = nil
config.expected_audience = nil
config.expected_token_type = nil
config.verify_not_before = false
config.allow_token_in_query_string = false
config.http_open_timeout = 5
config.http_read_timeout = 5
end
end
|
.logger ⇒ Object
56
57
58
|
# File 'lib/keycloak-api-rails.rb', line 56
def self.logger
config.logger
end
|
.public_key_resolver ⇒ Object
.public_key_resolver=(resolver) ⇒ Object
Mainly used by "keycloak-api-rails/testing" to validate tokens without a Keycloak server.
Assigning nil restores the regular resolver. The memoized service is discarded, since it holds
a reference to the resolver that is being replaced.
45
46
47
48
49
50
|
# File 'lib/keycloak-api-rails.rb', line 45
def self.public_key_resolver=(resolver)
MONITOR.synchronize do
@public_key_resolver = resolver
@service = nil
end
end
|