def login(): if not 'user_id' in session: if request.args.get('code', False): fb = FB(current_app.config['FACEBOOK']['APP_ID'], current_app.config['FACEBOOK']['APP_SECRET']) access_token, expires = fb.get_access_token(request.args['code']) graph = Graph(access_token) profile_data = graph.get('/me', {}) user = User.all().filter('facebook_id =', profile_data['id']).get() if user is None: user = User() user.facebook_id = profile_data['id'].decode('utf-8') user.name = u"{0}{1}".format(profile_data['last_name'], profile_data['first_name']) image_url = graph.get('/me/picture', {'redirect': False})['data']['url'] user.profile_image = image_url.decode('utf-8') user.put() fb_session = FacebookSession.all().filter('user ='******'user_id'] = user.key().id_or_name() else: return render_template('login.html', facebook=current_app.config['FACEBOOK']) return redirect(url_for('groups.group_list'))