Thanks for taking the time to look at this:

1. I've updated this so that we no longer construct the absolute URL, I think you're correct about the examples, and I'll take a look at that in a bit.

2. I've renamed that for consistency.

3. scope and response_type are both part of the oauth2 spec, with scope a "SHOULD" that is required by Google when doing it.  Facebook seems to be the exception in not using the scope.  For response_type, that is a required param with only "code" set as a defined value.  I think we may want to merge this into the base class since they're given, with scope defaulting to null and implementations allowing for a default scope and response_type defaulting to "code"

Does 3 make sense?  I'm starting a branch that makes those changes to the base class for you to take a look at.