Skip to content

Commit 0d95038

Browse files
sd2kclaude
andauthored
feat: apply on-behalf-of auth headers in NewGrafanaClient transport chain (#728)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 531c61d commit 0d95038

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

mcpgrafana.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -829,6 +829,15 @@ func NewGrafanaClient(ctx context.Context, grafanaURL, apiKey string, auth *url.
829829
}
830830
rt = timeoutTransport
831831
}
832+
// Apply on-behalf-of auth headers as the innermost header
833+
// layer so they take precedence over ExtraHeaders (which
834+
// may contain forwarded headers with the same keys).
835+
if config.AccessToken != "" && config.IDToken != "" {
836+
rt = NewExtraHeadersRoundTripper(rt, map[string]string{
837+
"X-Access-Token": config.AccessToken,
838+
"X-Grafana-Id": config.IDToken,
839+
})
840+
}
832841
if len(config.ExtraHeaders) > 0 {
833842
rt = NewExtraHeadersRoundTripper(rt, config.ExtraHeaders)
834843
}

0 commit comments

Comments
 (0)