Beispiel #1
0
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"))