@m4son

Как создать свой sso?

У компании есть свои сайты обучения, магазина, поддержки и прочее. Написаны на Laravel или чистом PHP.
Поставили задачу сделать единую авторизацию как у Яндекса. И тоже на отдельном поддомене.
Подскажите, есть какие-то гайды или готовые open source решения на PHP или Nodejs?

Как я понял это называется единым входом или sso. Но не понятно, пользователь авторизоваться, и потом на другом сайте перед каждым действием на сервер sso отправляется запрос с проверкой авторизации? Ведь если потльзователь поменял почту или пароль, все его токены должны сразу быть недействительными.
  • Вопрос задан
  • 1768 просмотров
Пригласить эксперта
Ответы на вопрос 4
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Лучше взять что-то готовое, по типу: раз, два. Если хочется реализовывать полностью своё, то вот тут подробная схема работы сервиса авторизации(CAS).
Ответ написан
Комментировать
Sanes
@Sanes
Laravel Passport вроде для этого?
Ответ написан
Комментировать
@IGRYNS
Я для этого использую keycloak. Мне нравиться, не плохое решение на open source. Можно много фишек сделать. 2FA идёт из коробки.
Ответ написан
Комментировать
@L1vet
Можешь просто поставить куки на все поддомены на всех сервисах и делать запрос к основному сервису авторизации прямо с клиента. С разных сайтов можно также делать запрос по токену на получение клиента. Еще есть JWT сделать чтобы не стучаться часто и самые используемые данные туда положить также. Но там тоже свои нюансы с его обновлением и тд.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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