Как реализовать межсайтовую авторизацию (SSO) как у гугла или хабра?
Добрый вечер!
Уже долгое время не могу понять как работает данный способ и как его реализовать.
Допустим, у меня есть два веб приложения (a.com, b.com) и сервер авторизации, пользователь прошёл авторизацию на сайте а.com, после чего он заходит на сайт b.com и тут проблемка, я так понимаю у пользователя должен быть свой уникальный id на стороне клиента чтобы сервер понял что именно авторизованный пользователь зашёл на сайт b.com и можно выдать ему токен, тут уже мозги вскипели. Как сервер поймет что именно авторизованный пользователь зашёл на сайт b.com на сайт? Если через куки то как их получить или выдать одинаковые на два сайта при авторизации?
Идём в Гугл и читаем про то как работает OAuth, OpenID Connect, что такое Identity Server, Resource Service, User Pool а вдогонку ещё и Federation. Чтобы проще всего разобраться в теме можно открыть бесплатный как в Auth0 и посмотреть как ребята это делают