#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 сеанса при переходе на другую страницу для поддержания состояния
Комментарии:
1. Не уверен, почему понижающий голос — что-то не так с тем, что я предложил?