generalize authentication type: also support user id
gitignore: no class files