нём есть кнопка account, при клике на которую должен произойти редирект на example1.com и произойти автоматический логин.
На example1 прописано условие что если есть jwt токен, то юзер залогинен и ему открыт доступ. Как реализовать автоматический логин? Добавить в квери параметр accessToken и доставать его на example1?
Добавлять токен в урл, вроде не лучшая идея. Да и думается мне, тут бек должен разруливать кейс.
Почему не лучшая? Его украсть могут? Example2 тоже наш сайт, и по идее никто левый не сможет на него зайти. Т.е. юзер заходит в ЛК на example2, и получается что он автоматически должен быть залогинен и на example1. прост впервые столкнулся с таким кейсом, да и на других сайтах не сталкивался чтоб так можно было сделать
Понимаешь, урл не защищён и по сути все, кто смогут его увидеть будут иметь возможность делать плохие дела. Сайт ваш, но теперь предположим, что есть юзер который использует сомнительный прокси, и в логах на этом прокси будут ваши урлы с токенами на блюдечке
А в чем вообще проблема мне немного не ясно. Один токен на два сайта при обращению к разным урлам запросы идут на один и тот же эндпойнт бэка
Был такой же кейс, хотели перенести на куки, чтобы обмениваться между общим доменом, в итоге там сафари со своим корсом не давал этого делать, вернули на передачу токена через урл
Можно же прописать правила, чё то сомнения, что вообще без вариантов в твоём кейсе было
представь на ex1 происходит логин и редирект на ex2, где токен на ex2 брать?
Не знаю, не я разруливал
как вариант при клике на кнопку создавать на бэке одноразовый токен входа и возвращать на фронтенд, фронтенд его передаёт в урле при открытии example1, и дальше уже от реализации зависит но этот токен передавать на бэкенд и авторизовать, и делать токен невалидным
Он уже лежит в куки или лс
Оверинжинеринг имхо
да вроде нет, много где такое, + проверок на IP и юзерагента и тд
крч получается так, на сайте example2 бэк делает одноразовый accessToken я цепляю его в квери на параметр на кнопку account. далее кликаю на account, меня редиректит на example1 где я достаю accessToken и пихаю его в куки. далее бэк делает этот токен не валидным, проверяет что юзер пришёл с того же айпи и с того же браузера, обновляет токен его и вуоля, я залогинен на example1. я всё правильно понял?
чел ты конечно гений в двух чатах совет спросить, надеюсь в чат бэкэнда тоже спросил?
Обсуждают сегодня