diff --git a/cmd/infohub/main.go b/cmd/infohub/main.go index 12600699730f2bfd23bde8c7360598ddfc6ac4e5..baaba9a00b005ca81cd423c1be81bf2e7a420c90 100644 --- a/cmd/infohub/main.go +++ b/cmd/infohub/main.go @@ -80,10 +80,13 @@ func main() { httpClient := httpClient() - // Create an HTTP Client which uses an authentication token. - // The token will auto-refresh as necessary. - oauthCtx := context.WithValue(context.Background(), oauth2.HTTPClient, httpClient) - oauthClient := newOAuth2Client(oauthCtx, cfg.OAuth.ClientID, cfg.OAuth.ClientSecret, cfg.OAuth.TokenURL) + oauthClient := httpClient + if cfg.Auth.Enabled { + // Create an HTTP Client which automatically issues and carries an OAuth2 token. + // The token will auto-refresh when its expiration is near. + oauthCtx := context.WithValue(context.Background(), oauth2.HTTPClient, httpClient) + oauthClient = newOAuth2Client(oauthCtx, cfg.OAuth.ClientID, cfg.OAuth.ClientSecret, cfg.OAuth.TokenURL) + } credentials := credential.New(cfg.Credential.IssuerURI, httpClient) diff --git a/internal/config/config.go b/internal/config/config.go index b4a04398737da04a860402ab21fa34e02ed5fd1e..28aa1fa5a3f4778e11365917f3e3b8e4acd00ebb 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -53,13 +53,13 @@ type metricsConfig struct { } type oauthConfig struct { - ClientID string `envconfig:"OAUTH_CLIENT_ID" required:"true"` - ClientSecret string `envconfig:"OAUTH_CLIENT_SECRET" required:"true"` - TokenURL string `envconfig:"OAUTH_TOKEN_URL" required:"true"` + ClientID string `envconfig:"OAUTH_CLIENT_ID"` + ClientSecret string `envconfig:"OAUTH_CLIENT_SECRET"` + TokenURL string `envconfig:"OAUTH_TOKEN_URL"` } type authConfig struct { - Enabled bool `envconfig:"AUTH_ENABLED" default:"true"` + Enabled bool `envconfig:"AUTH_ENABLED" default:"false"` JwkURL string `envconfig:"AUTH_JWK_URL"` RefreshInterval time.Duration `envconfig:"AUTH_REFRESH_INTERVAL" default:"1h"` }