Сквозная авторизация под логином LiveJournal и vkontakte
Задачка для сведущих:
Начальные условия:
1. пользователь зарегистрирован и авторизован на LiveJournal.com, vkontakte.ru и тд.(крупные порталы)
2. мы доверяем учетной записи с этих порталов и считаем такого пользователя полноценным и уникальным.
Задача:
При переходе на сайт пользователь сразу (то есть без ввода каких-либо логинов и паролей, id, то есть прозрачно, как если бы он просто бродил по LiveJournal) авторизовывается под логином одного из порталов ( например LiveJournal, вконтакте ), то есть, чтобы добавить комментарий к какому-то материалу, система информирует его о том, что он авторизован на сайте под учетной записью LiveJournal, если он хочет поменять логин пусть кликнет по кнопочке итд.
В чем смысл этого мероприятия: LiveJournal имеет нынешнюю популярность, в частности, благодаря своему сообществу. Если это сообщество беспроблемно сможет гулять и по другим ресурсам, то это только будет на руку владельцев таких ресурсов.
Это не оpen id — это существенно проще.
Большая часть пользователей сети вообще ненавидит где-либо регистрироваться и уж тем более не знает про оpen id.
Что скажете?
- +1
- 20 августа 2009, 15:00
- Sasha
Зарегистрируйся и сможешь так же.
Комментарии (3)
RSS свернуть / развернутьSasha
То же самое более :
Постановка задачи
Пусть имеется некий сайт А (www.somesite.net), на котором могут регистрироваться пользователи с функцией «запомнить меня на этом сайте». Также имеется другой сайт Б (скажем, ), который также должен распознавать эту авторизацию. Проблема в том, что cookie (посредством которой реализуется функция «запомнить меня на этом сайте»), естественно, не может быть прочитана вне домена
Вариант решения
Выход тут в прямом (помимо пользовательского браузера) взаимодействии двух сайтов. Авторизация на сайте Б происходит следующим образом:
1. Сайт Б генерирует уникальную строку KEY.
2. Сайт Б посылает (напрямую) сайту А сообщение о том, что сейчас на сайт А зайдёт пользователь с таким-то KEY.
3. Сайт Б создаёт на странице невидимый фрейм (или картинку) с адресом (где… — заранее известный URI интерфейса авторизации сайта А) и выдаёт эту страницу посетителю.
4. Браузер посетителя, получив эту страницу, обращается по адресу
5. Сайт А, получив обращение по адресу (но только при условии, что он был предупреждён об этом сайтом Б не раньше чем T минут назад), определяет, авторизован ли на нём данный посетитель.
6. Сайт А посылает (напрямую) сайту Б сообщение о том, что посетитель с данным KEY авторизован с таким-то внутрисайтовским ID-ом (или не авторизован).
7. Сайт Б принимает эту информацию к сведению и как минимум на протяжении сессии считает данного посетителя авторизованным.
Предложение
Неплохо бы как-то стандартизировать эти действия. Потому что вариантов межсайтовской авторизации множество, все они устроены примерно так же, но нет ни одного открытого стандарта на этот счёт.
RodionV
Это у вас августовская тема какая-то была.
Не реализованные желания…
admin
По правде говоря, я всех своих знакомых программистов загонял, как зайцев в поле на предмет реализации этого функционала на этом сайте.
Но по целому ряду причин до сих пор «воз и ныне там»
А жаль, красивая идея
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.