@@ -18,6 +18,7 @@ import (
1818 "github.com/golang-jwt/jwt/v5"
1919 "github.com/owncloud/ocis/v2/ocis-pkg/log"
2020 "github.com/owncloud/ocis/v2/services/proxy/pkg/config"
21+ "go.opentelemetry.io/otel/propagation"
2122 "golang.org/x/oauth2"
2223)
2324
@@ -104,11 +105,17 @@ func (c *oidcClient) lookupWellKnownOpenidConfiguration(ctx context.Context) err
104105 c .providerLock .Lock ()
105106 defer c .providerLock .Unlock ()
106107 if c .provider == nil {
108+ propagator := propagation .NewCompositeTextMapPropagator (
109+ propagation.Baggage {},
110+ propagation.TraceContext {},
111+ )
112+
107113 wellKnown := strings .TrimSuffix (c .issuer , "/" ) + wellknownPath
108114 req , err := http .NewRequest ("GET" , wellKnown , nil )
109115 if err != nil {
110116 return err
111117 }
118+ propagator .Inject (ctx , propagation .HeaderCarrier (req .Header ))
112119 resp , err := c .httpClient .Do (req .WithContext (ctx ))
113120 if err != nil {
114121 return err
@@ -214,6 +221,11 @@ func (u *UserInfo) Claims(v interface{}) error {
214221
215222// UserInfo retrieves the userinfo from a Token
216223func (c * oidcClient ) UserInfo (ctx context.Context , tokenSource oauth2.TokenSource ) (* UserInfo , error ) {
224+ propagator := propagation .NewCompositeTextMapPropagator (
225+ propagation.Baggage {},
226+ propagation.TraceContext {},
227+ )
228+
217229 if err := c .lookupWellKnownOpenidConfiguration (ctx ); err != nil {
218230 return nil , err
219231 }
@@ -226,6 +238,7 @@ func (c *oidcClient) UserInfo(ctx context.Context, tokenSource oauth2.TokenSourc
226238 if err != nil {
227239 return nil , fmt .Errorf ("oidc: create GET request: %v" , err )
228240 }
241+ propagator .Inject (ctx , propagation .HeaderCarrier (req .Header ))
229242
230243 token , err := tokenSource .Token ()
231244 if err != nil {
0 commit comments