code: def prepare_token_request(self, token_url, authorization_response=None,
                                redirect_url=None, state=None, body='', **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
docs: 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 state:
  
          :param body: Existing request body (URL encoded string) to embed parameters
                       into. This may contain extra paramters. Default ''.
  
          :param kwargs: Additional parameters to included in the request.
  
          :returns: The prepared request tuple with (url, headers, body).