diff --git a/pkg/apis/options/legacy_options.go b/pkg/apis/options/legacy_options.go index fded5867..4717bf56 100644 --- a/pkg/apis/options/legacy_options.go +++ b/pkg/apis/options/legacy_options.go @@ -234,7 +234,7 @@ func (l *LegacyHeaders) getRequestHeaders() []Header { } if l.PassAuthorization { - requestHeaders = append(requestHeaders, getAuthorizationHeader()) + requestHeaders = append(requestHeaders, getAuthorizationHeader()...) } for i := range requestHeaders { @@ -259,7 +259,7 @@ func (l *LegacyHeaders) getResponseHeaders() []Header { } if l.SetAuthorization { - responseHeaders = append(responseHeaders, getAuthorizationHeader()) + responseHeaders = append(responseHeaders, getAuthorizationHeader()...) } if l.SetIntrospectionValue { @@ -356,18 +356,31 @@ func getPassAccessTokenHeader() Header { } } -func getAuthorizationHeader() Header { - return Header{ - Name: "Authorization", - Values: []HeaderValue{ - { - ClaimSource: &ClaimSource{ - Claim: "id_token", - Prefix: "Bearer ", +func getAuthorizationHeader() []Header { + headers := []Header{ + { + Name: "Authorization", + Values: []HeaderValue{ + { + ClaimSource: &ClaimSource{ + Claim: "id_token", + Prefix: "Bearer ", + }, + }, + }, + }, + { + Name: "x-auth-request-id-token", + Values: []HeaderValue{ + { + ClaimSource: &ClaimSource{ + Claim: "id_token", + }, }, }, }, } + return headers } func getPreferredUsernameHeader() Header { diff --git a/pkg/apis/options/legacy_options_test.go b/pkg/apis/options/legacy_options_test.go index d37f9548..05e3e073 100644 --- a/pkg/apis/options/legacy_options_test.go +++ b/pkg/apis/options/legacy_options_test.go @@ -471,6 +471,18 @@ var _ = Describe("Legacy Options", func() { }, } + idTokenHeader := Header{ + Name: "x-auth-request-id-token", + PreserveRequestValue: false, + Values: []HeaderValue{ + { + ClaimSource: &ClaimSource{ + Claim: "id_token", + }, + }, + }, + } + DescribeTable("should convert to injectRequestHeaders", func(in legacyHeadersTableInput) { requestHeaders, responseHeaders := in.legacyHeaders.convert() @@ -771,9 +783,11 @@ var _ = Describe("Legacy Options", func() { }, expectedRequestHeaders: []Header{ authorizationHeader, + idTokenHeader, }, expectedResponseHeaders: []Header{ authorizationHeader, + idTokenHeader, }, }), Entry("with authorization headers and SkipAuthStripHeaders disabled", legacyHeadersTableInput{ @@ -793,9 +807,11 @@ var _ = Describe("Legacy Options", func() { }, expectedRequestHeaders: []Header{ withPreserveRequestValue(authorizationHeader, true), + withPreserveRequestValue(idTokenHeader, true), }, expectedResponseHeaders: []Header{ authorizationHeader, + idTokenHeader, }, }), )