Как работает аутентификация через соц. сети на сайтах клиентов через свой сервер?
Всем привет.
Пытаюсь чисто для себя, для развития и для будущего понять механизм работы аутентификации через соц. сети на сайтах клиентов.
Самый простой пример это виджет комментариев hypercomments например.
Там же к примеру авторизируешься через VK и уже потом на любых других сайтах где есть hypercomments ты уже авторизован...
Это какие технологии тут применяются?)
Насколько я понимаю схема такая:
1. Пользователь выбирает через что авторизоваться, например через VK
2. Открывается popup с запросом приложения, после подтверждения на сервер отправляется токен
3. На сервере через токен получаем инфу о пользователе и сохраняем в базу.
4. тут происходит какая-то магия и ты авторизован на всех hypercomments
Кому не лень, может кто рассказать как это работает?)
Спасибо!
Антон Шелестов, при первой авторизации пользователю показывается окно, в котором ему необходимо разрешить доступ. Информация об этом разрешении сохраняется на серверах ВК. А при переходе на сайт с hypercomments выполняется запрос на серверы ВК, а ВК уже отдаёт нужные данные. Теперь поняли или вам лучше пример кода?
Александр, Вот, да, тожже когда копался в отладчике заметил что после авторизации создается кука определенная, на домене .hypercomments.ru., скорей всего это токен пользователя.
НО, как потом эта кука отправляется с запросом с сайта site.ru если она на другом домене?
Антон Шелестов, когда пользователь заходит на site.ru, то его браузер делает асинхронный запрос к hypercomments, а последний, в свою очередь, делает запрос на серверы нужной соц. сети и получает оттуда необходимые данные и отдаёт их браузеру пользователя в качестве ответа. После этого выполняются нужные действия, например, добавление на страницу виджета комментариев с аватаркой пользователя
Александр, это работает в случае если все выполняется на одной странице, но я не про это. Наверно не достаточно подробно описал задачу...
Еще в интернете покопался и кажется понял что дело в кросдоменных запросах