def authenticate(self, *, scopes, **kwargs):
kwargs.setdefault('<STR_LIT>', self.con.token_backend)<EOL>return oauth_authentication_flow(*self.con.auth, scopes=scopes,<EOL>protocol=self.protocol, **kwargs)<EOL>
Performs the oauth authentication flow resulting in a stored token
        It uses the credentials passed on instantiation

        :param list[str] scopes: list of protocol user scopes to be converted
         by the protocol or scope helpers
        :param kwargs: other configurations to be passed to the
         Connection instance
        :return: Success / Failure
        :rtype: bool