flawlessattila
@flawlessattila

Как сделать передачу куки с субдомена на php?

Есть веб приложение на домене example.com
Есть PHP REST API на домене api.example.com

При POST запросе с example.com на api.example.com/signin
api.example.com/signin возвращает set-cookie token, но почему-то не сохраняет его в браузере и соответсвенно не отправляет с последующими запросами
60aa93ead9980173308895.png

Если отправлять с api.example.com на api.example.com/signin то все работает

api.example.com/signin примерно такой
if (isset($_COOKIE['token'])) {
 .....
} else {
......
setcookie("token", $new_token, $expr_time,' /', '.example.com', false, false);
}


Что можно сделать на бэке? Может каких-то заголовков не хватает?
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
flawlessattila
@flawlessattila Автор вопроса
Решил проблему добавлением withCredentials: true в заголовки каждого запроса на стороне веб приложения.
с axios выглядит так
axios.post(API_SERVER + '/login', { email, password }, { withCredentials: true })

и
axios.get(API_SERVER + '/todos', { withCredentials: true })
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
New_Horizons
@New_Horizons
Бред:
У куки нужны атрибуты SameSite=none и Secure (он не работает без https)

https://developer.mozilla.org/en-US/docs/Web/HTTP/...

UPD: Если есть возможность, лучше отказаться от хранения токена в куке в пользу JWT, например.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы