Автоматическая аутентификация Php curl не устанавливает сеанс

#php #authentication #curl

#php #аутентификация #curl

Вопрос:

Я использую функцию php curl для автоматической аутентификации, и она работает нормально.Но я не могу перейти на другую страницу в том же домене, и я думаю, что сеанс не установлен.Помогите мне, пожалуйста, заранее спасибо.

Комментарии:

1. предоставьте какой-нибудь код, пожалуйста

Ответ №1:

Чтобы сохранить информацию о сеансе, вам нужно будет указать CURL, где хранить данные cookie. Вы можете сделать это с помощью параметров CURLOPT_COOKIEFILE и CURLOPT_COOKIEJAR , заданных с помощью curl_setopt.

РЕДАКТИРОВАТЬ Вот пример:

 curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt")
  

Ответ №2:

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

На мой взгляд, лучший способ — интегрировать аутентификацию OAuth2, когда у вас есть access_token, expired_in и refresh_token. Refresh_token является необязательным параметром, и вы можете использовать его при попытке получить новый access_token с помощью refresh_token, когда срок действия access_token истек.

Ответ №3:

Возможно, вам потребуется отправить файл cookie сеанса при переходе на другую страницу для поддержания состояния

Смотрите: Поддержание сеанса PHP при использовании CURL

Комментарии:

1. Не уверен, почему понижающий голос — что-то не так с тем, что я предложил?