diff --git a/metadata_cache.go b/metadata_cache.go index 182152c..79e47d4 100644 --- a/metadata_cache.go +++ b/metadata_cache.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "net/http" + "strings" "sync" "time" ) @@ -95,7 +96,8 @@ func (mc *MetadataCache) GetProviderMetadata(ctx context.Context, providerURL st } // Fetch from provider - metadataURL := providerURL + "/.well-known/openid-configuration" + // Ensure no double slashes by trimming trailing slash from provider URL + metadataURL := strings.TrimRight(providerURL, "/") + "/.well-known/openid-configuration" mc.logger.Infof("Fetching provider metadata from: %s", metadataURL) req, err := http.NewRequestWithContext(ctx, "GET", metadataURL, nil)