Скорее с тем что пропущены многие #include. Не то что-бы тут что-то одно.
Например в UserDB.h используется класс User, который описан в Auth.h. #include "Auth.h" исправит первую ошибку.
Там где используется string тоже должен быть #include . Причем нельзя просто так опускать имя неймспейса
std::
Короче код не дописан.