fix: use default org over index [0] for new scim (#12284)

This commit is contained in:
Steven Masley 2024-02-23 15:31:36 -06:00 committed by GitHub
parent 0dd126e025
commit c33c452663
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 10 deletions

View File

@ -200,27 +200,22 @@ func (api *API) scimPostUser(rw http.ResponseWriter, r *http.Request) {
sUser.UserName = httpapi.UsernameFrom(sUser.UserName)
}
var organizationID uuid.UUID
// TODO: This is a temporary solution that does not support multi-org
// deployments. This assumption places all new SCIM users into the
// default organization.
//nolint:gocritic
organizations, err := api.Database.GetOrganizations(dbauthz.AsSystemRestricted(ctx))
defaultOrganization, err := api.Database.GetDefaultOrganization(dbauthz.AsSystemRestricted(ctx))
if err != nil {
_ = handlerutil.WriteError(rw, err)
return
}
if len(organizations) > 0 {
// Add the user to the first organization. Once multi-organization
// support is added, we should enable a configuration map of user
// email to organization.
organizationID = organizations[0].ID
}
//nolint:gocritic // needed for SCIM
dbUser, _, err = api.AGPL.CreateUser(dbauthz.AsSystemRestricted(ctx), api.Database, agpl.CreateUserRequest{
CreateUserRequest: codersdk.CreateUserRequest{
Username: sUser.UserName,
Email: email,
OrganizationID: organizationID,
OrganizationID: defaultOrganization.ID,
},
LoginType: database.LoginTypeOIDC,
})