С curl и rest-сервисами у вас нет сессии. Таким образом, в качестве решения ваша операция аутентификации должна возвращать session_id, и вы должны передать этот session_id в следующем запросе, где запрос подписан. После этого вы должны реализовать дополнительные проверки безопасности с помощью session_id.
Лучший способ для меня - интегрировать аутентификацию OAuth2, когда у вас есть access_token, expired_in и refresh_token. Refresh_token является необязательным параметром, и вы можете использовать его, когда пытаетесь получить новый access_token с помощью refresh_token, когда срок действия access_token истек.