This whole dance happens from within the provider, and some refactoring would be needed to move this out as a separate running service. 

``start`` is an endpoint for the ``oauth-start`` url, and it redirects to github, who then in turn redirect back to this view. 

In order to achieve what you are after, we just need to set the ``redirect_uri`` parameter in the ``start`` redirect to contain some user id information, which will then be in the ``GET`` data on the subsequent redirect from github.

This will mean that we will need to provide ``start`` with it in the first place of course from the core app.