Environment - Python 2.7.3, webpy.

I'm trying a simple oauth 3 way authentication for github using Python web.py. Per the basic oauth guide on github I'm doing something like this:

```
import web,requests
import oauth2,pymongo,json
from oauth2client.client import OAuth2WebServerFlow
urls=('/', 'githublogin',
      '/session','session',
      '/githubcallback','githubCallback');
class githublogin:
  def GET(self):
    new_url = 'https://github.com/login/oauth/authorize'
    pay_load = {'client_id': '',
                'client_secret':'',
                'scope':'gist'
               }
    headers = {'content-type': 'application/json'}
    r = requests.get(new_url, params=pay_load, headers=headers)
    return r.content

```

This is sending me to the GH login page. Once I sign in - GH is not redirecting me to the callback. The redirect\_uri parameter is configured in the github application. I've double checked to make sure that's correct.

```
 class githubCallback:
   def POST(self):
     data =  web.data()
     print data
   def GET(self):
     print "callback called"

```

Instead in the browser I see 
`http://<hostname>:8080/session` 
and a 404 message, because I haven't configured the session URL. That's problem no 1. Problem no 2 - If I configure the session URL and print out the post message

```
class session:
  def POST(self):
    data =  web.data()
      print data
    def GET(self):
      print "callback called"

```

I can see some data posted to the URL with something called 'authenticity\_token'. 

I've tried to use the python\_oauth2 library but can't get past the authorization\_url call. So I've tried this much simpler requests library. Can someone please point out to me whats going wrong here.