You don't return a dictionary with the registration_id key in the get_user() method.
change the code as follows: return dict(first_name = user['first_name'], last_name = user['last_name'], username = user['id'], registration_id = user['id']) This is stated in the web2py book as required parameter when using third party authentication. mic 2012/6/16 Alec Taylor <[email protected]>: > Unfortunately I haven't been able to get Facebook login with OAuth2 working. > > I've created a tiny test-case below with the problem. > > The only major changes I have made is to models/db.py with a minor > function (foobar) in controllers/default.py. > > https://gist.github.com/9967cb95fe026890dae7 > > I have placed the facebook.py file in the modules folder and the > CLIENT_ID and CLIENT_SECRET in another .py file in my modules > directory [file starts with `from gluon import *`]. > > Please tell me how I can get this to work. > > Thanks for all suggestions, > > Alec Taylor > > FYI: Not showing a ticket because it actually is stuck in an infinite > loop. However when I take out the `@auth.requires_login()` decorator > before the `foobar` function the page loads, but "Login" still appears > in the top-right.

