'Prepare a token creation request.
Note that these requests usually require client authentication, either
by including client_id or a set of provider specific authentication
credentials.
:param token_url: Provider token creation endpoint URL.
:param authorization_response: The full redirection URL string, i.e.
the location to which the user was redirected after successfull
authorization. Used to mine credentials needed to obtain a token
in this step, such as authorization code.
:param redirect_url: The redirect_url supplied with the authorization
request (if there was one).
:param body: Request body (URL encoded string).
:param kwargs: Additional parameters to included in the request.
:returns: The prepared request tuple with (url, headers, body).'

def prepare_token_request(self, token_url, authorization_response=None, redirect_url=None, state=None, body=u'', **kwargs):

    if (not is_secure_transport(token_url)):
        raise InsecureTransportError()
    state = (state or self.state)
    if authorization_response:
        self.parse_request_uri_response(authorization_response, state=state)
    self.redirect_url = (redirect_url or self.redirect_url)
    body = self.prepare_request_body(body=body, redirect_uri=self.redirect_url, **kwargs)
    return (token_url, FORM_ENC_HEADERS, body)
