Class: OmniauthOidc::ConfigFetcher
- Inherits:
-
Object
- Object
- OmniauthOidc::ConfigFetcher
- Defined in:
- lib/omniauth/oidc/config_fetcher.rb
Overview
Fetches and parses OpenID Connect configuration from .well-known endpoint
Defined Under Namespace
Classes: Config
Class Method Summary collapse
Class Method Details
.fetch(endpoint_url, max_retries: 3) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/omniauth/oidc/config_fetcher.rb', line 47 def fetch(endpoint_url, max_retries: 3) retries = 0 begin response = OmniauthOidc::HttpClient.get(endpoint_url) symbolized_config = deep_symbolize_keys(response) Config.new(symbolized_config) rescue OmniauthOidc::HttpClient::HttpError => e retries += 1 retry if retries < max_retries raise OmniauthOidc::ConfigurationError, "Failed to fetch OIDC configuration: #{e.}" rescue StandardError => e raise OmniauthOidc::ConfigurationError, "Failed to fetch OIDC configuration: #{e.}" end end |