user: add authenticate().
Merge pull request #1 from hansode/feature-user.authenticate