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"`
 }