Кросс-сайтовая авторизация
От: drosan http://www.ravil.su
Дата: 25.08.09 15:17
Оценка:
Здравствуйте. Появилась необходимость сделать единую авторизацию на несколько веб-проектов.
Делаю один сервер auth — навроде яндексовского паспорта — через который пользователь авторизуется на всех дочерних ресурсах.
В общем-то технология не нова и используется довольно часто, но почему-то подробных описаний в Сети я почти не нашёл. Общие схемы есть, но базовый функционал я сделал, остаются нюансы. Посещаемость намечается большая, соответственно надо предусмотреть всё по нагрузке и по защищённости.
В общем, эти детали тоже по большей части ясны, кроме некоторых, например:
— Как лучше всего сделать междусайтовое взаимодействие? OpenID мотыжит туда-сюда данные хттп-запросами, это неинтересно, потому что медленно (или это не настолько критично, как считаете?), если идти по его стопам — то дочерний ресурс должен проверять какой-то уникальный хеш, отдаваемый после логина/логаута auth-сервером, хттп-запросом (понятно напрямую, без участия пользователя). Это и вроде как флексибл, но с другой стороны — наверняка можно сделать по-другому, например использовать shared-базу для хранения авторизованных-сейчас пользователей. Это вроде как шаг к производительности, но встаёт другой вопрос — действительно ли это будет так быстро? Можно использовать memory-таблицы или memcachedb, но смущает тот факт, что при перезапуске демонов все активные сессии сбросятся. Если использовать персистентное хранилище, встаёт вопрос о производительности опять же. В общем, под конец рабочего дня решил вынести вопрос на суд общественности — может, замылилась мысль, и есть какое-то более очевидное, оригинальное и красивое решение?
"Для того чтобы быть человеком, надо им какое-то время не быть." ©Ю. А. Бригадир.
Не выдумывай ничего
От: Sheridan Россия  
Дата: 27.08.09 09:43
Оценка: +2 -1
Пользуй OpenID
avalon 1.0rc2 rev 300, zlib 1.2.3
build date: 19.08.2009 14:13:36 MSD +04:00
Qt 4.5.2
Matrix has you...
Re: Не выдумывай ничего
От: drosan http://www.ravil.su
Дата: 27.08.09 12:08
Оценка: 12 (1) -1
Здравствуйте, Sheridan, Вы писали:

S>Пользуй OpenID


Не подходит. Слишком медлительное, слишком "широкое". Его ни яндекс не пользует, ни гугл, ни жж для своих кросс-авторизаций/аутентификаций.

В любом случае уже почти доделал всё, жалко, что так мало народу в курсе этих дел.
"Для того чтобы быть человеком, надо им какое-то время не быть." ©Ю. А. Бригадир.
Re[2]: Не выдумывай ничего
От: Mamut Швеция http://dmitriid.com
Дата: 27.08.09 12:25
Оценка: +1 -1
d> S>Пользуй OpenID

d> Не подходит. Слишком медлительное, слишком "широкое". Его ни яндекс не пользует, ни гугл, ни жж для своих кросс-авторизаций/аутентификаций.


Гугл использует: http://googledataapis.blogspot.com/2008/10/federated-login-for-google-account.html
Yahoo использует: http://openid.yahoo.com/

Яндекс надо попинать, может начнут реализацию
avalon 1.0rc2 rev 295, zlib 1.2.3 (01.08.2009 02:47:12 EEST :z)(Qt 4.5.1)


dmitriid.comGitHubLinkedIn
Re[3]: Не выдумывай ничего
От: Daevaorn Россия  
Дата: 27.08.09 12:35
Оценка:
Здравствуйте, Mamut, Вы писали:

d>> S>Пользуй OpenID


d>> Не подходит. Слишком медлительное, слишком "широкое". Его ни яндекс не пользует, ни гугл, ни жж для своих кросс-авторизаций/аутентификаций.


M>Гугл использует: http://googledataapis.blogspot.com/2008/10/federated-login-for-google-account.html

M>Yahoo использует: http://openid.yahoo.com/

M>Яндекс надо попинать, может начнут реализацию


У Яндекса тоже есть OpenID сервер.
Re[2]: Не выдумывай ничего
От: Sheridan Россия  
Дата: 27.08.09 12:45
Оценка: +1
Приветствую, drosan, вы писали:

d> В любом случае уже почти доделал всё, жалко, что так мало народу в курсе этих дел.

Поэтому и мало крутится, что народ свое постоянно выдумывает.
avalon 1.0rc2 rev 300, zlib 1.2.3
build date: 19.08.2009 14:13:36 MSD +04:00
Qt 4.5.2
Matrix has you...
Re[2]: Не выдумывай ничего
От: hrensgory Россия  
Дата: 27.08.09 13:23
Оценка:
drosan пишет:
>
> жалко, что так мало народу в курсе
> этих дел.

http://wikis.sun.com/display/OpenSSO/OpenSSO+Resource+Center читал ?

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Не выдумывай ничего
От: Evgolas Россия http://DelaDarom.Ru
Дата: 28.08.09 01:27
Оценка: +1 -1
Здравствуйте, drosan, Вы писали:

D>OpenID не подходит. Слишком медлительное, слишком "широкое".

Слишком медлительное — это полсекунды не подождать, пока сервера обменяются нужной инфой?

D>Его ни яндекс не пользует,

http://openid.yandex.ru/
D>ни гугл,
http://openid-provider.appspot.com/
D>ни жж для своих кросс-авторизаций/аутентификаций.
http://www.livejournal.com/openid/

D>В любом случае уже почти доделал всё, жалко, что так мало народу в курсе этих дел.

Это не народ не в курсе, а вы

В общем задача очень простая и понятная. Разбивается на два этапа — кто будет эти аккаунты выдавать и кто будет эти аккаунты проверять.

Для первой задачи поднимаете свой OpenID сервер.
Для второй задачи прикручиваете везде где надо возможность аутентификации по OpenID с того сервера.

И не надо извращаться.
Чтобы ваш последователь, на этой работе, не думал "работал тут один самородок, блин. нет чтобы сделать по-человечески. сделал хрень какую-то, а мне теперь разбираться".
-----------------------------
Сервис Услуга-за-Услугу
Городской рогейн для роллеров
Заметки шароварщика
-----------------------------
Re[4]: Не выдумывай ничего
От: Mamut Швеция http://dmitriid.com
Дата: 28.08.09 06:59
Оценка:
D> M>Яндекс надо попинать, может начнут реализацию

D> У Яндекса тоже есть OpenID сервер.


И действительно. http://openid.yandex.ru/
avalon 1.0rc2 rev 295, zlib 1.2.3 (01.08.2009 02:47:12 EEST :z)(Qt 4.5.1)


dmitriid.comGitHubLinkedIn
Re[3]: Не выдумывай ничего
От: drosan http://www.ravil.su
Дата: 28.08.09 10:37
Оценка:
Здравствуйте, Mamut, Вы писали:

d>> S>Пользуй OpenID


d>> Не подходит. Слишком медлительное, слишком "широкое". Его ни яндекс не пользует, ни гугл, ни жж для своих кросс-авторизаций/аутентификаций.


M>Гугл использует: http://googledataapis.blogspot.com/2008/10/federated-login-for-google-account.html

M>Yahoo использует: http://openid.yahoo.com/

M>Яндекс надо попинать, может начнут реализацию


Это просто опенайди-сервера. Для внутренних авторизаций и аутентификаций у гугла, яндекса, яху и прочих жежешечек своя реализация.
"Для того чтобы быть человеком, надо им какое-то время не быть." ©Ю. А. Бригадир.
Re[3]: Не выдумывай ничего
От: drosan http://www.ravil.su
Дата: 28.08.09 10:40
Оценка:
Здравствуйте, Evgolas, Вы писали:

E>Здравствуйте, drosan, Вы писали:


D>>OpenID не подходит. Слишком медлительное, слишком "широкое".

E>Слишком медлительное — это полсекунды не подождать, пока сервера обменяются нужной инфой?

D>>Его ни яндекс не пользует,

E>http://openid.yandex.ru/
D>>ни гугл,
E>http://openid-provider.appspot.com/
D>>ни жж для своих кросс-авторизаций/аутентификаций.
E>http://www.livejournal.com/openid/

D>>В любом случае уже почти доделал всё, жалко, что так мало народу в курсе этих дел.

E>Это не народ не в курсе, а вы

E>В общем задача очень простая и понятная. Разбивается на два этапа — кто будет эти аккаунты выдавать и кто будет эти аккаунты проверять.


E>Для первой задачи поднимаете свой OpenID сервер.

E>Для второй задачи прикручиваете везде где надо возможность аутентификации по OpenID с того сервера.

E>И не надо извращаться.

E>Чтобы ваш последователь, на этой работе, не думал "работал тут один самородок, блин. нет чтобы сделать по-человечески. сделал хрень какую-то, а мне теперь разбираться".

вот жеж бестолковые яндексы-гуглы-яху-все-остальные... вы им тоже расскажите, чтоли, что они велосипедисты и бездари, и что надо везде-везде использовать openid для внутренних сервисов.
"Для того чтобы быть человеком, надо им какое-то время не быть." ©Ю. А. Бригадир.
Re[4]: Не выдумывай ничего
От: Daevaorn Россия  
Дата: 28.08.09 11:02
Оценка: +1
Здравствуйте, drosan, Вы писали:

D>вот жеж бестолковые яндексы-гуглы-яху-все-остальные... вы им тоже расскажите, чтоли, что они велосипедисты и бездари, и что надо везде-везде использовать openid для внутренних сервисов.


А вы компания по масштабу сопоставимая с ними? Или лучше — обладающая такими же ресурсами на разработку отладку и поддержку собственной системы? Или у вас такие же нагрузки вы боитесь за производительность?

Понятно, что желание писать велосипеды из разработчиков никуда никогда не денется, но надо же знать меру.
Re[5]: Не выдумывай ничего
От: drosan http://www.ravil.su
Дата: 28.08.09 11:39
Оценка:
Здравствуйте, Daevaorn, Вы писали:
D>А вы компания по масштабу сопоставимая с ними? Или лучше — обладающая такими же ресурсами на разработку отладку и поддержку собственной системы? Или у вас такие же нагрузки вы боитесь за производительность?

D>Понятно, что желание писать велосипеды из разработчиков никуда никогда не денется, но надо же знать меру.


Нагрузки очень высокие. Плюс к тому опенайди в силу некоторых причин не так удобно.
"Для того чтобы быть человеком, надо им какое-то время не быть." ©Ю. А. Бригадир.
Re[4]: Не выдумывай ничего
От: Evgolas Россия http://DelaDarom.Ru
Дата: 28.08.09 15:27
Оценка: -1
Здравствуйте, drosan, Вы писали:

D>вот жеж бестолковые яндексы-гуглы-яху-все-остальные... вы им тоже расскажите, чтоли, что они велосипедисты и бездари, и что надо везде-везде использовать openid для внутренних сервисов.


Слушайте, во-первых мне глубоко все равно, как вы будете делать свою задачу.
Я сказал про наиболее оптимальный способ. Охота делать по-своему — ради бога.

А насчет распространенности, удобности OpenID — лично я у себе на блоге http://evgolas.ru его поднял, и везде в других сервисах теперь его использую и доволен как слон.
Мне не надо заводить везде кучу аккаунтов. Я везде представляюсь как evgolas.ru, вот и все.
И в жж, и в блогспоте могу комментарии оставлять, и даже френдить там меня могут — все работает.
С другими сервисами тоже никаких проблем.

С другой стороны, недавно сделал игру http://RollerQuest.ru, и в ней, уже для авторизации пользователей, тоже поднял OpenID.
Тоже все ок.

Ну а вы делайте по-своему, тем более если начальство позволяет. Какая вам разница по большому счету?
Задачу вы сделаете, пусть по-своему; работать оно видимо будет; зарплата идет.
Ну значит все отлично.
-----------------------------
Сервис Услуга-за-Услугу
Городской рогейн для роллеров
Заметки шароварщика
-----------------------------
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.