This is actually because GitHub OAuth2 support is not related to the current OAuth2 specification project. In principle, they need a parameter called "access_token", but the latest version of oauth2 gem (0.3.0 at the time of this writing) passes this value as "oauth_token", as the latest version of the project requires.
This basically works with any provider other than GitHub, because they have not yet updated support for this alternative named parameter.
source share