def process_request(self, request): """ Enables ``request.facebook`` and ``request.facebook.graph`` in your views once the user authenticated the application and connected with facebook. You might want to use this if you don't feel confortable with the javascript library. """ fb_user = facebook.get_user_from_cookie(request.COOKIES, get_setting_for_current_site('FACEBOOK_API_KEY'), get_setting_for_current_site('FACEBOOK_SECRET_KEY')) request.facebook = Facebook(fb_user) return None
def twitter(request, account_inactive_template="socialregistration/account_inactive.html", extra_context=dict()): """ Actually setup/login an account relating to a twitter user after the oauth process is finished successfully """ client = OAuthTwitter( request, get_setting_for_current_site("TWITTER_CONSUMER_KEY"), get_setting_for_current_site("TWITTER_CONSUMER_SECRET_KEY"), get_setting_for_current_site("TWITTER_REQUEST_TOKEN_URL"), ) user_info = client.get_user_info() if request.user.is_authenticated(): # Handling already logged in users connecting their accounts try: profile = TwitterProfile.objects.get(twitter_id=user_info["id"]) except TwitterProfile.DoesNotExist: # There can only be one profile! profile = TwitterProfile.objects.create(user=request.user, twitter_id=user_info["id"]) return HttpResponseRedirect(_get_next(request)) user = authenticate(twitter_id=user_info["id"]) if user is None: profile = TwitterProfile(twitter_id=user_info["id"]) user = User() request.session["socialregistration_profile"] = profile request.session["socialregistration_user"] = user request.session["next"] = _get_next(request) return HttpResponseRedirect(reverse("socialregistration_setup")) if not user.is_active: return render_to_response(account_inactive_template, extra_context, context_instance=RequestContext(request)) login(request, user) return HttpResponseRedirect(_get_next(request))
def facebook_js(): return {'facebook_api_key' : get_setting_for_current_site('FACEBOOK_API_KEY'), 'is_https' : bool(_https())}