def auth_return(request): """Get the access token back from Twitter and load user info""" auth_broken_msg = _(u"Authentication with Twitter went wrong." u" <a href=\"/\">Start over</a>.") unauthed_token = request.session.get("unauthed_token", None) if not unauthed_token: return fail(request, auth_broken_msg) token = OAuthToken.from_string(unauthed_token) if token.key != request.GET.get("oauth_token", "no-token"): return fail(request, auth_broken_msg) tw = Twitter() access_token = tw.exchange_request_token_for_access_token(token) request.session["access_token"] = access_token.to_string() u = tw.verify_credentials() log.info(u"%s logged in, following %s" % (u["screen_name"], u["friends_count"])) request.session["screen_name"] = u["screen_name"] return HttpResponseRedirect(reverse("home"))