Skip to content

Commit 59db4cd

Browse files
authored
Merge pull request #11532 from owncloud/telemetry_to_idp
fix: propagate telemetry to the IDP
2 parents 2f0842e + fe3be98 commit 59db4cd

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

ocis-pkg/oidc/client.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
216223
func (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

Comments
 (0)