Skip to content

Commit 6f65343

Browse files
committed
[oidc] fix oauth2 clientId propagation
1 parent 672589d commit 6f65343

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-12
lines changed

components/public-api-server/pkg/oidc/oauth2.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ import (
1313
)
1414

1515
type OAuth2Result struct {
16-
ClientID string
17-
OAuth2Token *oauth2.Token
18-
ReturnToURL string
16+
ClientConfigID string
17+
OAuth2Token *oauth2.Token
18+
ReturnToURL string
1919
}
2020

2121
type StateParam struct {
2222
// Internal client ID
23-
ClientConfigID string `json:"clientId"`
23+
ClientConfigID string `json:"clientConfigId"`
2424
ReturnToURL string `json:"returnTo"`
2525
}
2626

@@ -86,9 +86,9 @@ func (s *Service) OAuth2Middleware(next http.Handler) http.Handler {
8686
}
8787

8888
ctx := AttachOAuth2ResultToContext(r.Context(), &OAuth2Result{
89-
OAuth2Token: oauth2Token,
90-
ReturnToURL: state.ReturnToURL,
91-
ClientID: state.ClientConfigID,
89+
OAuth2Token: oauth2Token,
90+
ReturnToURL: state.ReturnToURL,
91+
ClientConfigID: state.ClientConfigID,
9292
})
9393
next.ServeHTTP(rw, r.WithContext(ctx))
9494
})

components/public-api-server/pkg/oidc/router.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ func (s *Service) getCallbackHandler() http.HandlerFunc {
9999
return
100100
}
101101
result, err := s.Authenticate(r.Context(), AuthenticateParams{
102+
Config: config,
102103
OAuth2Result: oauth2Result,
103-
Issuer: config.Issuer,
104104
NonceCookieValue: nonceCookie.Value,
105105
})
106106
if err != nil {

components/public-api-server/pkg/oidc/service.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,8 @@ func (s *Service) convertClientConfig(ctx context.Context, dbEntry db.OIDCClient
229229
}
230230

231231
type AuthenticateParams struct {
232+
Config *ClientConfig
232233
OAuth2Result *OAuth2Result
233-
Issuer string
234234
NonceCookieValue string
235235
}
236236

@@ -240,12 +240,12 @@ func (s *Service) Authenticate(ctx context.Context, params AuthenticateParams) (
240240
return nil, fmt.Errorf("id_token not found")
241241
}
242242

243-
provider, err := oidc.NewProvider(ctx, params.Issuer)
243+
provider, err := oidc.NewProvider(ctx, params.Config.Issuer)
244244
if err != nil {
245245
return nil, fmt.Errorf("Failed to initialize provider.")
246246
}
247247
verifier := provider.Verifier(&goidc.Config{
248-
ClientID: params.OAuth2Result.ClientID,
248+
ClientID: params.Config.OAuth2Config.ClientID,
249249
})
250250

251251
idToken, err := verifier.Verify(ctx, rawIDToken)

components/public-api-server/pkg/oidc/service_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,9 @@ func TestAuthenticate_nonce_check(t *testing.T) {
209209
OAuth2Token: token.WithExtra(extra),
210210
},
211211
NonceCookieValue: "111",
212-
Issuer: issuer,
212+
Config: &ClientConfig{
213+
Issuer: issuer,
214+
},
213215
})
214216

215217
require.NoError(t, err, "failed to authenticate")

0 commit comments

Comments
 (0)