Skip to content

Commit 4ff34cc

Browse files
committed
fix: check for empty string in claimField
1 parent a455803 commit 4ff34cc

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

enterprise/coderd/idpsync.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -375,8 +375,7 @@ func (api *API) idpSyncClaimFields(orgID uuid.UUID, rw http.ResponseWriter, r *h
375375
// @Router /organizations/{organization}/settings/idpsync/field-values [get]
376376
func (api *API) organizationIDPSyncClaimFieldValues(rw http.ResponseWriter, r *http.Request) {
377377
org := httpmw.OrganizationParam(r)
378-
claimField := r.URL.Query().Get("claimField")
379-
api.idpSyncClaimFieldValues(org.ID, claimField, rw, r)
378+
api.idpSyncClaimFieldValues(org.ID, rw, r)
380379
}
381380

382381
// @Summary Get the idp sync claim field values
@@ -389,15 +388,21 @@ func (api *API) organizationIDPSyncClaimFieldValues(rw http.ResponseWriter, r *h
389388
// @Success 200 {array} string
390389
// @Router /settings/idpsync/field-values [get]
391390
func (api *API) deploymentIDPSyncClaimFieldValues(rw http.ResponseWriter, r *http.Request) {
392-
claimField := r.URL.Query().Get("claimField")
393391
// nil uuid implies all organizations
394-
api.idpSyncClaimFieldValues(uuid.Nil, claimField, rw, r)
392+
api.idpSyncClaimFieldValues(uuid.Nil, rw, r)
395393
}
396394

397-
func (api *API) idpSyncClaimFieldValues(orgID uuid.UUID, claimField string, rw http.ResponseWriter, r *http.Request) {
395+
func (api *API) idpSyncClaimFieldValues(orgID uuid.UUID, rw http.ResponseWriter, r *http.Request) {
398396
ctx := r.Context()
399397

400-
fields, err := api.Database.OIDCClaimFieldValues(ctx, database.OIDCClaimFieldValuesParams{
398+
claimField := r.URL.Query().Get("claimField")
399+
if claimField == "" {
400+
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
401+
Message: "claimField query parameter is required",
402+
})
403+
return
404+
}
405+
fieldValues, err := api.Database.OIDCClaimFieldValues(ctx, database.OIDCClaimFieldValuesParams{
401406
OrganizationID: orgID,
402407
ClaimField: claimField,
403408
})
@@ -416,5 +421,5 @@ func (api *API) idpSyncClaimFieldValues(orgID uuid.UUID, claimField string, rw h
416421
return
417422
}
418423

419-
httpapi.Write(ctx, rw, http.StatusOK, fields)
424+
httpapi.Write(ctx, rw, http.StatusOK, fieldValues)
420425
}

0 commit comments

Comments
 (0)