def is_authenticated(self, request, **kwargs): print "Authentication starting..." # Make sure user supplied access token in request try: if request.method == 'GET': access_token = request.GET['access_token'] elif request.method == 'POST': access_token = request.POST['access_token'] except KeyError: return self._unauthorized() # Authenticate with facebook from open_facebook import OpenFacebook from django_facebook.connect import connect_user print "Authentication token found. Verifying..." facebook = OpenFacebook(access_token) print "Connection to Facebook server in progress..." try: if not facebook or not facebook.is_authenticated(): return self._unauthorized() except: return self._unauthorized() print "Connection established. Authentication successful." # Facebook authenticated, now associate # with own internal user, Creating a new user if # necessary. #action, user = connect_user(request, access_token, facebook) user = facebook.get('me') return user
def is_authenticated(self, request, **kwargs): """ Authenticate with facebook, and return user upon success. """ # Make sure user supplied access token in request try: access_token = request.GET['access_token'] except KeyError: return self._unauthorized() # Authenticate with facebook from open_facebook import OpenFacebook from django_facebook.connect import connect_user facebook = OpenFacebook(access_token) try: if not facebook or \ not facebook.is_authenticated(): return self._unauthorized() except: return self._unauthorized() # Facebook authenticated, now associate # with own internal user, Creating a new user if # necessary. action, user = connect_user(request, access_token, facebook) request.user = user return True
def is_authenticated(self, request, **kwargs): auth_params = request.META.get('HTTP_X_FACEBOOK_AUTHENTICATION') if auth_params: parts = auth_params.split() if len(parts) == 2: if parts[0] == 'OAuth': access_token = parts[1] facebook = OpenFacebook(access_token) try: if facebook == None or not facebook.is_authenticated(): return self._unauthorized() action, user = connect_user(request, access_token, facebook) request.user = user return True except Exception, err: logger.error('ERROR %s: %s' % (self.__class__.__name__, unicode(err)))
def post_new(request): if request.method == "POST": form = PostForm(request.POST) if form.is_valid(): post = form.save(commit=False) user = SocialAccount.objects.get(user=request.user) access_token = SocialToken.objects.get(account_id=user, account__provider='facebook') idUser = user.uid graph = OpenFacebook(access_token=access_token) if graph.is_authenticated(): idPages = (graph.get('me/accounts/')) id_Pages_List = [id['id'] for id in idPages['data']] id_Pages_List = ", ".join(id_Pages_List) id_Page_Access_Token = (graph.get(id_Pages_List, fields='access_token')) id_Page_Access_Token = (id_Page_Access_Token['access_token']) graph = OpenFacebook(access_token=id_Page_Access_Token) feed_url = 'https://graph.facebook.com/'+id_Pages_List+'/feed?message='+post.text+'&access_token='+id_Page_Access_Token feed_Request = requests.post(feed_url) print(feed_Request.status_code) if(feed_Request.status_code == 200): return render(request, 'blog/home.html', {'user': request.user,'access_token': id_Page_Access_Token,'page_id': id_Pages_List }) else: return HttpResponse(feed_Request) print('bad') return render(request, 'blog/loginFacebook.html', {'access_token': access_token, 'idUser': idUser}) else: print('bad') return render(request, 'blog/loginFacebook.html') else: form = PostForm() return render(request, 'blog/add_new_post.html', {'form': form})