Ejemplo n.º 1
0
def register(request, target_object=DEFAULT_PARAM):
    """ OAuth registration prep.
    
    Fetch request token then redirect to authorization page.
    """
    # fetch request token
    client = OAuthClient(request.application)

    # redirect to authorization url, next param specifies final redirect URL.
    callback = request.build_absolute_uri(reverse("authorize"))
    next = request.GET.get("next", HOME_URL)
    callback = parameterize_url(callback, {"next": next})

    token = client.fetch_request_token(callback)
    request.session["request_token"] = token.to_string()

    if target_object is DEFAULT_PARAM:
        if request.group:
            target_object = request.group.id
        else:
            target_object = None
    if target_object is None:
        if hasattr(settings, "TYPEPAD_ACCESS") and settings.TYPEPAD_ACCESS:
            authz_params = {"access": settings.TYPEPAD_ACCESS}
        else:
            authz_params = {}
    else:
        authz_params = {"target_object": target_object}

    url = client.authorize_token(authz_params)
    # url = client.authorize_token({ 'access': 'app_full' })

    return http.HttpResponseRedirect(url)