T004 authentificate user with db storage

It's wrong. You don't return `null` value, you just throws an exception.
Please keep `@return User`, and add `@throws \Exception`