Есть клиент - example.com
Есть сервер авторизации - authserver.com
Есть сервер АПИ - apiserver.com
Клиент успешно коммуницирует с сервисом авторизации, получает токен и сохраняется он как httpOnly, для пущей безопасности. Но как быть дальше? Как взаимодействовать с apiserver.com, если кука-то стоит для authserver.com? Все примеры в сети без httpOnly, либо про случаи когда все на одном домене. А что можно придумать в моем случае?
Иван Шумов, это к чему? В одном вопросе мне помогли и я подблагодарил. Велосипед не такой велосипедный как может показатся на первый взгляд. Например, схема с сабдоменами рабочая.
OAuth я знаю что есть, но мне не подходит эта пляска с попаданием на логин на третий сервис (да и он излишне громоздкий для моих целей). Я хочу делать все прозрачно.
Иван Шумов, за крики про велосипеды. Днем с огнем не найдешь программиста который разобрался до деталей как чтото работает на раз два три. Зато тысячи ноющих выпендривающихся победителей которые знают что велосипеды это плохо, а при случае виновато Тз. Да вообще кто угодно. Плохой вопрос, личная жизнь, дизайнер, макет... Те кто пишут велики, думают где упадет, у них опыт. А у других книги и авторитеты. А то тут целая орда втирает что велик невозможно саппортить, а сами пользую библиотеки готовые которые не просто велик, которые самокат под капотом. Но радости за готовое решение полные бл штаны. А с дырой будут разбираться не они, скажут дескать подождем обновление или найдут дурака. А еще они называют велосипедом попытку наследоваться от вендора, чтобы закрыть потом дыры. Типа поставь нечто и не трогай. А дыры обходи бизнеслогикой
Если бизнес знает что водит за нос и говорит будьте хорошим то это лицемерие. В случае с программистом они даже не знают, что лицемерят
Интересное наблюдение. Может об этом говорят умники когда stateless. Типа первый контакт с сервером и токеном обязателен, сохранив куку и для второго домена тоже. Типа первый преобразует логин и пароль в токен а второй получая токен не из куки но из заголовка создает куку для другого домена.
Другое может какойто локалсторейдж но никогда не видел статей которые прям хвалят локал сторейдж.
Еще можно пробовать сделать сервер сессий на какомто редисе. И туда пихать а не в куку. Но походу все равно кудато надо деть идентификатор сессии потом поэтому не, бред.
Видимо надо два запроса делать. Один аутентифицируйся на аутсервер, а по возврату авторизуйся уже на другой сервер. Кука на первом сервере типа как не нужна получается. Задача тупо переслать ответ авторизатора второму серверу и уже там куку сделать...
Иван Шумов, может быть. Я ронимаю как он работает и считал его хооошим но както не ассоциировал его с просто авторизацией, не думал что бывает так и вот так и это что-тоо разное))
.
И вообще мне не слишком понятно как клиент запрашивает токен при условии что это не браузер... Сумбурная какаяо картинка. А может это про то что браузер только редиректиь, а остальное делают скрипты на сервере который показан как клиентское приложение. Мне казалось там проще какт, когда делаешь не думаешь схемами)))
Иван Шумов, одобряю.
Лучший валидатор который мне посоветовали на Ларавель (родной "кое что" не умел) в качестве готовой библиотеки - имел 32 метода валидации и жуткий хардкод классов. Под проект понадобилось около 100 разных типов и проверок, то есть он не умел 70 вещей которые требовались чтобы писать меньше строк и читать логику быстрее.
То есть люди реально считают его лучшим. А я? А я конечно же не умею его готовить.
А может просто они настолько верят "двум трем методам" что голову уже просто никто из них не включает и это норма. Никаких помоек не будет, кому надо - докажут. По дружбе или по страху. Но как нибудь сделают виноватым другого или обстоятельства.
Достаточно посмотреть там приколы яваскрипта, такие же приколы есть в пыхе когда число из строки начинающееся с запятой - все еще число, а инт выходящий за пределы INT_MAX, сжирает цифры и просто теряет данные. Этого в готовых решениях не предусматривают. Нет это не плохо, что такие вот приколы есть. Большинство случаев не требуют внимания к таким мелочам. Но тот единственный случай когда это случится - никого не будет волновать, кроме твоей компании. А её он тоже волновать не будет, это будет твой головняк
Потому что их не пишут в компаниях где сидят команды и у них есть цель. В компаниях их гоняют по офису лопатой быстрее быстрее, им остается только "готовое решение". А дома пишут те, кто еще только учится. Но да, позитив даем.
Григорий Васильков, вопрос на засыпку? почему у меня интеграция на любом из языков, которые я внимательно изучал (PHP, Python, NodeJS, Javascript), интеграция занимает минут 15 и несколько простых вызовов валидации через конфигуратор, а у кого-то проблемы?)
Про Laravel я наслышан много: там действительно хорошая архитектура, мне самому он нравится, хоть и не мой основной фрейм, но с либами к нему, местами, странно)
Иван Шумов, может потому что "ты знаешь как ее готовить" но никому не скажешь потому что никому не должен. а еще потому что ты может быть хочешь чтобы все видели что ты очень очень крутой и лучше всех остальных. иначе ты бы нашел способ поделиться решением. но как же так - это же значит что у тебя есть уникальная технология, надо патент, стадо ментов в охрану и так далее так далее в итоге приходим к тому, что решения как бы и не нужны, нужна только картинка, что оно у тебя есть.
без обид, ты спросил, я без намеков ответил на вопрос "почему по-моему так"
я имел в виду не "ты негодяй плохой", а ответ на вопрос "почему я считаю что в целом по селу такая ситуация"
пс. лучше бы тебе не видеть ларавеля внутри. просто лучше думать что он готовое решение с прекрасной архитектурой. а то я кому не покажу носом не тыкну где там капец, мне все время тираду о том что я дурак. вот он и прекрасен. все кто выжили - улыбаются. остальные передохли или разбежались. ну совсем как в жизни
Григорий Васильков, спасибо, оценил) по делу - просто действительно рядовая задача, достаточно готовых пакетов. Не считаю нужным детализировать то что ищется за полчаса с учетом сравнения. А ТС со вчерашнего дня закидывает тостер однотипными вопросами как истеричка вместо того чтобы внимательно прочитать материалы по теме, увы
Иван Шумов, к сожалению не видел, вероятно изменил бы мнение. но сначала попытался бы понять
просто тебя истеричкой не называли. а меня называли. и я понимаю (мне так кажется) когда люди это делают. и почему. и кому это надо.
А ТС со вчерашнего дня закидывает тостер однотипными вопросами как истеричка вместо того чтобы внимательно прочитать материалы по теме, увы
твой уровень мне уже понятен. 10 ответов настрочил мне в каждой теме - с пользой около нуля) видимо обиделся что я его бесполезные ответы не отмечаю решением, истеричкой называет.
jeruthadam, да я за рейтингом и не гонюсь) мне просто скучно и охота поделиться знаниями. то что у тебя пока мало опыта в вопросах безопасности я прекрасно понимаю - людей с данной квалификацией вообще не много. Лично я потратил больше года на изучение данных вопросов, поэтому считаю себя достаточно квалифицированным чтобы по крайней мере высказывать свое мнение и использовать только типовые для рынка решения
Иван Шумов, в таком случае мне было бы интересно переговорить с тобой по телеге или лучше по скайпу. а то меня друзья стали фанатиком кода называть - они себе на работу ходят а я круглые сутки пытаюсь "понять истину" которой нет
А может их всё-таки сделать на одном домене? Пусть даже это разные сервисы, настроить nginx так, чтобы он запросы на domain.com/auth слал на сервер авторизации, а остальные на другой.
Это решит проблему с доступностью кук, и доступа с клиента к ним не появится.