Could be a session problem. Check that your session is created and works across page reloads.
Also check the get_user() method there could be some error raised there (most likely by the GraphApi), use the debugger or simply put some logging statements to see what's going on I had also troubles with https not properly setup on my side so check that too 2014-08-07 19:37 GMT+02:00 lyn2py <[email protected]>: > Hello, > > I have setup the code for FB oauth per web2py book here: > http://web2py.com/books/default/chapter/29/09/access-control > > The code here: > > ## Define oauth application id and secret. > FB_CLIENT_ID='xxx' > FB_CLIENT_SECRET="yyyy" > > ## import required modules > try: > import json > except ImportError: > from gluon.contrib import simplejson as json > from facebook import GraphAPI, GraphAPIError > from gluon.contrib.login_methods.oauth20_account import OAuthAccount > > > ## extend the OAUthAccount class > class FaceBookAccount(OAuthAccount): > """OAuth impl for FaceBook""" > AUTH_URL="https://graph.facebook.com/oauth/authorize" > TOKEN_URL="https://graph.facebook.com/oauth/access_token" > > def __init__(self): > OAuthAccount.__init__(self, None, FB_CLIENT_ID, FB_CLIENT_SECRET, > self.AUTH_URL, self.TOKEN_URL, > scope='email,user_about_me,user_activities, > user_birthday, user_education_history, user_groups, user_hometown, > user_interests, user_likes, user_location, user_relationships, > user_relationship_details, user_religion_politics, user_subscriptions, > user_work_history, user_photos, user_status, user_videos, publish_actions, > friends_hometown, friends_location,friends_photos', > state="auth_provider=facebook", > display='popup') > self.graph = None > > def get_user(self): > '''Returns the user using the Graph API. > ''' > if not self.accessToken(): > return None > > if not self.graph: > self.graph = GraphAPI((self.accessToken())) > > user = None > try: > user = self.graph.get_object("me") > except GraphAPIError, e: > session.token = None > self.graph = None > > if user: > if not user.has_key('username'): > username = user['id'] > else: > username = user['username'] > > if not user.has_key('email'): > email = '%s.fakemail' %(user['id']) > else: > email = user['email'] > > return dict(first_name = user['first_name'], > last_name = user['last_name'], > username = username, > email = '%s' %(email) ) > > ## use the above class to build a new login form > auth.settings.login_form=FaceBookAccount() > > > > And I have tried logging in, the page displays and asks for my > permissions, which is all good. > > But then, it doesn't appear that I have logged in, in my app. I keep > returning to the login page like I have not logged in. > And I checked the database, no new auth_user entries have been created > there either… > > May I know if I had missed a step or did something incorrectly? > > I appreciate any help or guidance. Thank you. > > -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

