def canvas(request): # When a Facebook user first authorises our app, Facebook redirects to # a url with ?code=... The presence of this parameter seems to break # auth_complete in the facebook backend (called by social_complete). # So we remove it. if 'code' in request.GET: request.GET = request.GET.copy() del request.GET['code'] # Try to log in using values POSTed by Facebook. try: social_complete(request, FacebookBackend.name) except AuthException: pass # Check if logged in. if is_complete_authentication(request): response = HttpResponseRedirect('/') response['P3P'] = 'CP="HONK"' # Allow setting 3rd-party cookie in IE. return response # finally if not logged in auth_url = 'https://www.facebook.com/dialog/oauth?%s' % urlencode({ 'client_id': settings.FACEBOOK_APP_ID, 'redirect_uri': settings.FACEBOOK_CANVAS_URL, 'scope': ','.join(settings.FACEBOOK_EXTENDED_PERMISSIONS) }) return render_to_response('fbapp/oauth.html', {'auth_url': auth_url})
def wrapper(request, *args, **kwargs): user = request.user # User must me logged via FB backend in order to ensure we talk about the same person if not is_complete_authentication(request): try: user = social_complete(request, FacebookBackend.name) except ValueError: pass # no matter if failed # Not recommended way for FB, but still something we need to be aware of if isinstance(user, HttpResponse): kwargs.update({'auth_response': user}) # Need to re-check the completion else: if is_complete_authentication(request): kwargs.update({'access_token': get_access_token(request.user)}) else: request.user = AnonymousUser() signed_request = load_signed_request(request.REQUEST.get('signed_request', '')) if signed_request: kwargs.update({'signed_request': signed_request}) return func(request, *args, **kwargs)
def wrapper(request, *args, **kwargs): # User must me logged via FB backend in order to ensure we talk about the same person if not is_complete_authentication(request): try: social_complete(request, FacebookBackend.name) except ValueError: pass # no matter if failed # Need to re-check the completion if is_complete_authentication(request): kwargs.update({'access_token': get_access_token(request.user)}) else: request.user = AnonymousUser() signed_request = load_signed_request( request.REQUEST.get('signed_request', '')) if signed_request: kwargs.update({'signed_request': signed_request}) return func(request, *args, **kwargs)
def wrapper(request, *args, **kwargs): fp = open( 'tmp.5.txt', 'w' ) print >> fp, args print >> fp, kwargs print >> fp, request fb_source = ( request.GET.get('fb_source') ) if fb_source: kwargs.update( {'fb_source':fb_source} ) print >> fp, fb_source print >> fp, "==========<<<>>>>===========" request_ids = ( request.GET.get('request_ids') ) print >> fp, "=====>", request_ids if request_ids: kwargs.update( {'request_ids':request_ids} ) request.session['fbrequests'] = request_ids print >> fp, request_ids print >> fp, "==========<<<>>>>===========" user = request.user # User must me logged via FB backend in order to ensure we talk about the same person if not is_complete_authentication(request): try: user = social_complete(request, FacebookBackend.name) except ValueError: pass # no matter if failed # Not recommended way for FB, but still something we need to be aware of if isinstance(user, HttpResponse): kwargs.update({'auth_response': user}) # Need to re-check the completion else: if is_complete_authentication(request): kwargs.update({'access_token': get_access_token(request.user)}) else: request.user = AnonymousUser() signed_request = load_signed_request(request.REQUEST.get('signed_request', '')) if signed_request: kwargs.update({'signed_request': signed_request}) return func(request, *args, **kwargs)
def wrapper(request, *args, **kwargs): user = request.user # User must me logged via VKontakte backend in order to ensure we talk about the same person if not is_complete_authentication(request): try: user = social_complete(request, VKOAuth2Backend.name) except (ValueError, AttributeError): pass # no matter if failed # Not recommended way for VK, but still something we need to be aware of if isinstance(user, HttpResponse): kwargs.update({'auth_response': user}) # Need to re-check the completion else: if is_complete_authentication(request): kwargs.update({'access_token': get_access_token(request.user)}) else: request.user = AnonymousUser() return func(request, *args, **kwargs)
def wrapper(request, *args, **kwargs): user = request.user # User must me logged via VKontakte backend in order to ensure we talk about the same person if not is_complete_authentication(request): try: user = social_complete(request, VKontakteOAuth2Backend.name) except (ValueError, AttributeError): pass # no matter if failed # Not recommended way for VK, but still something we need to be aware of if isinstance(user, HttpResponse): kwargs.update({'auth_response': user}) # Need to re-check the completion else: if is_complete_authentication(request): kwargs.update({'access_token': get_access_token(request.user)}) else: request.user = AnonymousUser() return func(request, *args, **kwargs)
def complete(request, backend): return social_complete(request, backend)