Authenticates with the PA Oauth system

def authenticate(self):
        """
        Authenticates with the PA Oauth system
        """
        if self._auth_token is None or self._token_expiry < time.time():
            self._perform_auth()

        yield self._auth_token