Add auth.BasicFunc

This only includes the implementation and some tests. Give me a moment and I'll update the README.