Module: Kessel::Auth
- Included in:
- OAuth2ClientCredentials
- Defined in:
- lib/kessel/auth.rb
Overview
OpenID Connect authentication module for Kessel services.
This module provides OIDC Client Credentials flow authentication with automatic discovery. Works seamlessly with OIDC-compliant providers.
Defined Under Namespace
Modules: AuthRequest Classes: OAuth2AuthRequest, OAuth2ClientCredentials, OAuthAuthenticationError, OAuthDependencyError, OIDCDiscoveryMetadata, RefreshTokenResponse
Constant Summary collapse
- EXPIRATION_WINDOW =
5 minutes in seconds
300- DEFAULT_EXPIRES_IN =
1 hour in seconds
3600
Instance Method Summary collapse
Instance Method Details
#fetch_oidc_discovery(provider_url) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/kessel/auth.rb', line 55 def fetch_oidc_discovery(provider_url) check_dependencies! discovery = ::OpenIDConnect::Discovery::Provider::Config.discover!(provider_url) OIDCDiscoveryMetadata.new(discovery.token_endpoint) rescue StandardError => e raise OAuthAuthenticationError, "Failed to discover OIDC configuration from #{provider_url}: #{e.message}" end |
#oauth2_auth_request(credentials) ⇒ Object
63 64 65 |
# File 'lib/kessel/auth.rb', line 63 def oauth2_auth_request(credentials) OAuth2AuthRequest.new(credentials) end |