def request_token(self, authorization_url, store_token=True,<EOL>token_path=None, **kwargs):
if self.session is None:<EOL><INDENT>raise RuntimeError("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>if token_path is not None:<EOL><INDENT>warnings.warn('<STR_LIT>'<EOL>'<STR_LIT>', DeprecationWarning)<EOL><DEDENT>_, client_secret = self.auth<EOL>os.environ['<STR_LIT>'] = '<STR_LIT:1>'<EOL>os.environ['<STR_LIT>'] = '<STR_LIT:1>'<EOL>try:<EOL><INDENT>self.token_backend.token = Token(self.session.fetch_token(<EOL>token_url=self._oauth2_token_url,<EOL>authorization_response=authorization_url,<EOL>include_client_id=True,<EOL>client_secret=client_secret))<EOL><DEDENT>except Exception as e:<EOL><INDENT>log.error('<STR_LIT>'.format(str(e)))<EOL>return False<EOL><DEDENT>if store_token:<EOL><INDENT>self.token_backend.save_token()<EOL><DEDENT>return True<EOL>
Authenticates for the specified url and gets the token, save the
        token for future based if requested

        :param str authorization_url: url given by the authorization flow
        :param bool store_token: whether or not to store the token,
         so u don't have to keep opening the auth link and
         authenticating every time
        :param Path token_path: full path to where the token should be saved to
        :param kwargs: allow to pass unused params in conjunction with Connection
        :return: Success/Failure
        :rtype: bool