def _authenticate(self, email_address=None, password=None, api_key=None, access_token=None, access_token_type=None):
        ''' Create authentication object to send requests

        Args:

            email_address (str):        Email address of the account to make the requests

            password (str):             Password of the account used with email address

            api_key (str):              API Key. You can find your API key in https://www.hellosign.com/home/myAccount/current_tab/integrations

            access_token (str):         OAuth access token

            access_token_type (str):    Type of OAuth access token

        Raises:
            NoAuthMethod: If no authentication information found

        Returns:
            A HTTPBasicAuth or HSAccessTokenAuth object

        '''

        if access_token_type and access_token:
            return HSAccessTokenAuth(access_token, access_token_type)
        elif api_key:
            return HTTPBasicAuth(api_key, '')
        elif email_address and password:
            return HTTPBasicAuth(email_address, password)
        else:
            raise NoAuthMethod("No authentication information found!")
Create authentication object to send requests

        Args:

            email_address (str):        Email address of the account to make the requests

            password (str):             Password of the account used with email address

            api_key (str):              API Key. You can find your API key in https://www.hellosign.com/home/myAccount/current_tab/integrations

            access_token (str):         OAuth access token

            access_token_type (str):    Type of OAuth access token

        Raises:
            NoAuthMethod: If no authentication information found

        Returns:
            A HTTPBasicAuth or HSAccessTokenAuth object