fix: block creating oidc users when oidc has not been configured (#14064)

This commit is contained in:
Ethan
2024-08-01 13:30:10 +10:00
committed by GitHub
parent 7a4737cf76
commit 956d0cb042

View File

@ -464,6 +464,12 @@ func (api *API) postUser(rw http.ResponseWriter, r *http.Request) {
} }
loginType = database.LoginTypePassword loginType = database.LoginTypePassword
case codersdk.LoginTypeOIDC: case codersdk.LoginTypeOIDC:
if api.OIDCConfig == nil {
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
Message: "You must configure OIDC before creating OIDC users.",
})
return
}
loginType = database.LoginTypeOIDC loginType = database.LoginTypeOIDC
case codersdk.LoginTypeGithub: case codersdk.LoginTypeGithub:
loginType = database.LoginTypeGithub loginType = database.LoginTypeGithub
@ -471,6 +477,7 @@ func (api *API) postUser(rw http.ResponseWriter, r *http.Request) {
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{ httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
Message: fmt.Sprintf("Unsupported login type %q for manually creating new users.", req.UserLoginType), Message: fmt.Sprintf("Unsupported login type %q for manually creating new users.", req.UserLoginType),
}) })
return
} }
user, _, err := api.CreateUser(ctx, api.Database, CreateUserRequest{ user, _, err := api.CreateUser(ctx, api.Database, CreateUserRequest{