def login_openid_callback(): # Convert a logged in GAE OpenID user to a BetaUser... user = gaeusers.get_current_user() if user: # First, check if there's already a BetaUser for this OpenID identity... bu = BetaUser.get_openid_user(user.federated_identity()) if not bu: bu = BetaUser(sid=user.federated_identity(), service=BetaUser.SERVICE_OPENID, name=None, admin=False, lastlogin=datetime.datetime.now()) bu.lastlogin = datetime.datetime.now() bu.put() # Store betauser key in our session cookie session['betauser'] = bu.key() session.permanent = True else: logging.warning('No OpenID user logged in.') # Should we redirect to a specific page? login_redirect_url = session.pop('login-redirect-url', None) if login_redirect_url: return redirect(login_redirect_url) # Redirect to front page else: return redirect('/')