def login(req): host = "http://" + req.get_host() print "ENTERING LOGIN", req, "end login req" if "redirect" not in req.session: req.session["redirect"] = host + str(reverse("facebook_callback_close")) if "popup" in req.GET: req.session["redirect"] = host + str(reverse("facebook_callback_close")) if "redirectArgs" in req.GET: print "calling handle_redirect_string", type(req.session["redirect"]) req.session["redirect"] = handle_redirect_string(req.session["redirect"], req.GET["redirectArgs"]) if req.user is not None: # and "oauth_token" in req.user: if req.user.oauth_token: print "USERAAA", req.user, req.user.oauth_token print req.user, "login redirect:", req.session["redirect"] redirect = req.session["redirect"] del req.session["redirect"] return HttpResponseRedirect(redirect) try: token = get_unauthorized_token() except: HttpResponseRedirect(reverse("tauth_login")) print "unauthorized token", token req.session["token"] = token.to_string() url_auth = get_authorization_url(token) print "Twitter url login is ", url_auth return HttpResponseRedirect(url_auth)
def facebook_logout_callback(req): if "access_token" in req.session: del req.session['access_token'] del req.session['base_domain'] del req.session['secret'] del req.session['session_key'] del req.session['sessionid'] del req.session['sig'] del req.session['uid'] if "access_token" in req.COOKIES: del req.COOKIES['access_token'] del req.COOKIES['base_domain'] del req.COOKIES['secret'] del req.COOKIES['session_key'] del req.COOKIES['sessionid'] del req.COOKIES['sig'] del req.COOKIES['uid'] if "redirect" in req.session: redirect = req.session['redirect'] if "redirectArgs" in req.GET: redirect = handle_redirect_string(redirect, req.GET["redirectArgs"]) print "SESSION KEYS" for key in req.session.keys(): print "KEY", key, req.session[key] print "COOKIES KEYS" for key in req.COOKIES.keys(): print "KEY", key, req.COOKIES[key] print "redirecting logout", redirect return HttpResponseRedirect(redirect)
def logout(req): print "tauth_logout REQQQ", req if "redirect" in req.session: redirect = str(req.session["redirect"]) del req.session["redirect"] else: redirect = str(reverse("facebook_callback_close")) if "popup" in req.GET: redirect = str(reverse("facebook_callback_close")) if "redirectArgs" in req.GET: redirect = handle_redirect_string(redirect, req.GET["redirectArgs"]) if req.user is not None: req.user.oauth_token = "" req.user.oauth_token_secret = "" req.user.save() print "LOGOUT oauth_token", req.user.oauth_token if "user_id" in req.session: del req.session["user_id"] if "popup" in req.GET: return HttpResponse(json.dumps({})) if redirect: return HttpResponseRedirect(redirect) else: return render_to_response("logout.html", {})
def facebook_callback(req): print "FACEBOOK CALLBACK", req for s in req.session.keys(): print "SESSION", s, req.session[s] fauth_utils.sync_session_cookies_v2(req) for s in req.session.keys(): print "SESSION", s, req.session[s] (user, create) = FBUser.objects.get_or_create(facebook_id=req.session['uid']) user.access_token = req.session["access_token"] user.save() user.fill_info() user.save() redirect = req.session['redirect'] if "redirectArgs" in req.GET: redirect = handle_redirect_string(redirect, req.GET["redirectArgs"]) return HttpResponseRedirect(redirect)