Преглед изворни кода

fix(go): prevent idp user from being deleted; (#3538)

Vishal Dalwadi пре 2 месеци
родитељ
комит
a6469c7e2a
1 измењених фајлова са 8 додато и 0 уклоњено
  1. 8 0
      controllers/user.go

+ 8 - 0
controllers/user.go

@@ -1233,6 +1233,14 @@ func deleteUser(w http.ResponseWriter, r *http.Request) {
 			return
 		}
 	}
+
+	if user.AuthType == models.OAuth || user.ExternalIdentityProviderID != "" {
+		err = fmt.Errorf("cannot delete idp user %s", username)
+		logger.Log(0, username, "failed to delete user: ", err.Error())
+		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
+		return
+	}
+
 	err = logic.DeleteUser(username)
 	if err != nil {
 		logger.Log(0, username,