@starwars9isgreatlol

Как сделать кросс-доменную аутентификацию?

Привет, подскажите пожалуйста,
Пытаюсь сделать кроссдоменную аутентификацию

С домена test.ru посылаю ajax запрос на api.test.ru/api/login

1. В ответе в заголовке я получаю
Set-Cookie: auth_token=value; expires=Sat, 15-Mar-2025 08:38:53 GMT; Max-Age=157680000; path=/; samesite=none
Но кука на api.test.ru не ставится? Почему?

2. Если ее все же удастся поставить, то запрос с домена test-2.ru на api.test.ru/api/auth Передаст cookie auth_token=value ?

Я не совсем понимаю все эти правился cors, Подскажите, то что я пытаюсь сделать вообще может работать?

Я хочу при аутентификации на одном из доменов(test.ru, test-2.ru) ставить cookie с токеном для домена, на котором крутится бекенд(api.test.ru).
А при заходе на любой из доменов(test.ru, test-2.ru) отправлять ajax-запрос на бекенд(api.test.ru), который читал бы эту установленную куку и возвращал бы токен аутентификации, если она правильна.
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Karpion
Насколько я понимаю, кука должна иметь список доменов, с которых её могут читать.

Попробуйте запросить любой сайт, который ставит куки - и сравнить Ваш ответ с ответом того сайта.

И наконец, куками может оперировать Ваш скрипт.
Ответ написан
@karminski
Разработчик CRM/ERP систем
Не правильно вы делаете. Ваш бекенд api.test.ru должен быть STATELESS - т.е. он не должен хранить состояния сессии. С каждым запросом на бекенд вы передаете token (в хедерах или прямо в строке запроса), который пользователь получает при авторизации на клиенте test.ru. Почитайте про OAUTH авторизацию (как пример) и JWT токены.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы