Why reinvent the wheel?
- It's fun.
- I always learn something.
- Sometimes I learn to not reinvent the wheel.
- But sometimes I learn so much more.
- The libraries out there I spent 10 minutes looking at didn't seem to fully support application authentication. Yes, I'm sure I'm wrong, and they all support it just fine. Or maybe I was just looking at the wrong ones. But in any event, I took this as the opportunity to build something cool (see item #1 above).