Esempio n. 1
0
def callback(request, service):
    ctx = RequestContext(request)
    access = NetworkManager().get_oauth_access(service)
    unauth_token = request.session.get("%s_unauth_token" % service, None)
    try:
        auth_token = access.check_token(unauth_token, request.GET)
    except MissingToken:
        ctx.update({"error": "token_missing"})
    else:
        if auth_token:
            return access.callback(request, access, auth_token)
        else:
            # @@@ not nice for OAuth 2
            ctx.update({"error": "token_mismatch"})
    print ctx['error']
Esempio n. 2
0
def connect(request, service, redirect_field_name="next", redirect_to_session_key="redirect_to"):
    access = NetworkManager().get_oauth_access(service)
    
    token = None
    extra = ""
    
    if not service == "facebook":
        token = access.unauthorized_token()
        request.session["%s_unauth_token" % service] = token.to_string()
    elif service == "facebook":
        extra = "&scope=publish_stream,create_event,offline_access,rsvp_event,user_likes,user_location"
        
        # if request.mobile:
        #     extra += "&display=touch"
        
        token = None
    
    if hasattr(request, "session"):
        request.session[redirect_to_session_key] = request.GET.get(redirect_field_name)
    return HttpResponseRedirect(access.authorization_url(token) + extra)