Added github auth, no tests

Here's the beginning. It's functional but I didn't really test first, which reminded me why I test first. The code needs cleanup and tests.