ability to set and get scopes on tokens
ability to set ttl
cleanup: break out authentication strategies and errors into files