[EAuth] Единая авторизация пользователей

Выкладываем свои наработки
Nodge
Сообщения: 26
Зарегистрирован: 2011.01.02, 23:17

[EAuth] Единая авторизация пользователей

Сообщение Nodge »

Добрый день.
Написал расширение для единой авторизации пользователей через несколько сервисов (openid, oauth).

GitHub
Статья на хабре
Демо
Демо проект на GitHub

Хотелось бы обсудить, что получилось хорошо, а что можно сделать лучше.
Возможно кто-нибудь захочет помочь с добавлением новых провайдеров.
Последний раз редактировалось Nodge 2012.09.09, 09:49, всего редактировалось 3 раза.
Аватара пользователя
xoma
Сообщения: 641
Зарегистрирован: 2009.04.02, 15:24
Откуда: Ногинск
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение xoma »

Отличная работа! На форуме много раз поднимали вопрос о разработке такого расширения. Обязательно попробую его в своих проектах.
Аватара пользователя
kosenka
Сообщения: 677
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение kosenka »

Видимо я плохо в школе учился и никак не пойму как "авторизованный юзер через сервисы" становится "авторизованным юзером сайта" ?
Может есть какой расширенный пример?
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение slavcodev »

Да, была задача интегрировать авторизацию через сторонние сервисы, но во время прочитал про проблемы с множеством логинов через разные сервисы. На хабре в комментах описана ситуация. Поэтому данное решение не подходит для масштабного использования.
Жду Yii 3!
Nodge
Сообщения: 26
Зарегистрирован: 2011.01.02, 23:17

Re: [EAuth] Единая авторизация пользователей

Сообщение Nodge »

mc-bear писал(а):Да, была задача интегрировать авторизацию через сторонние сервисы, но во время прочитал про проблемы с множеством логинов через разные сервисы. На хабре в комментах описана ситуация. Поэтому данное решение не подходит для масштабного использования.
Почему же не подходит? Управление пользователями (т.е. логика регистрации, привязки аккаунтов и т.п.) не входит в задачи данного расширения. Расширение лишь предоставляет удобные функции для авторизации пользователей. Расширяемые классы провайдеров специально сделаны для того, чтобы можно было получать лишь необходимую данному приложению информацию.
А вот все проблемы про разные логины так или иначе решаемы, в комментах на хабре это тоже есть... Расширение используется в двух моих проектах - проблем не возникает.
Nodge
Сообщения: 26
Зарегистрирован: 2011.01.02, 23:17

Re: [EAuth] Единая авторизация пользователей

Сообщение Nodge »

kosenka писал(а):Видимо я плохо в школе учился и никак не пойму как "авторизованный юзер через сервисы" становится "авторизованным юзером сайта" ?
Может есть какой расширенный пример?
После каждой авторизации у пользователя есть пара уникальных значений: название сервиса и идентификатор на этом сервисе. Эти значения можно использовать для регистрации пользователей у себя в приложении.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение slavcodev »

Я не сказал что расширение плохое или не работает. Я лишь сказал что он не полноценно, не готово работать на любом проекте. Естественно я понимаю что раз расширение зарелизелось, значит решило поставленную тобой задачу. Просто есть к чему стремится.
Жду Yii 3!
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение Ekstazi »

А я делал через loginza. Всем советую.
Nodge
Сообщения: 26
Зарегистрирован: 2011.01.02, 23:17

Re: [EAuth] Единая авторизация пользователей

Сообщение Nodge »

Ekstazi писал(а):А я делал через loginza. Всем советую.
У каждого решения свои плюсы и минусы. Не всем может подойти логинза.

Выдержка из статьи на хабре:
Плюсы использования сервиса авторизации:
  • Простота и скорость установки;
  • Нет необходимости изучать тонкости авторизации через каждого провайдера.
Однако самостоятельная авторизация имеет ряд других преимуществ:
  • Полный контроль над процессом авторизации: что будет написано в окне авторизации провайдера, какие данные мы получим и т.д.;
  • Возможность изменять внешний вид виджета авторизации в соответствии с дизайном сайта;
  • При авторизации через OAuth есть возможность вызывать методы API, если их предоставляет провайдер;
  • Меньше зависимостей от сторонних сервисов – больше надежность.
Аватара пользователя
Svyatov
Сообщения: 459
Зарегистрирован: 2010.08.12, 14:50
Откуда: Санкт-Петербург
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение Svyatov »

Ekstazi писал(а):А я делал через loginza. Всем советую.
Никому не советую. Ибо умрет логинза - и ваши пользователи не смогут попасть на сайт. А работает она далеко не стабильно.
Аватара пользователя
timlar
Сообщения: 1382
Зарегистрирован: 2009.09.19, 17:49
Откуда: Украина, Днепропетровск
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение timlar »

Svyatov писал(а):Никому не советую. Ибо умрет логинза - и ваши пользователи не смогут попасть на сайт. А работает она далеко не стабильно.
А были случаи, что на долго умирала? У нас на одном из проектов используется, вроде бы падений не замечалось.
Twitter: @timlar_ua
Аватара пользователя
Svyatov
Сообщения: 459
Зарегистрирован: 2010.08.12, 14:50
Откуда: Санкт-Петербург
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение Svyatov »

timlar писал(а):А были случаи, что на долго умирала? У нас на одном из проектов используется, вроде бы падений не замечалось.
Ну зависит от потребностей проекта. Если кратковременные падения не критичны, то можно использовать, но я бы все равно стал :)
Nodge
Сообщения: 26
Зарегистрирован: 2011.01.02, 23:17

Re: [EAuth] Единая авторизация пользователей

Сообщение Nodge »

Обновил расширение. Новая версия доступна на google code.
Основное в обновлении:
- упрощено создание новых OAuth 2.0 провайдеров;
- добавлена поддержка геттеров для атрибутов;
- добавлен новый провайдер Mail.ru;
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение samdark »

Может на github переедете? Там как-то веселее разработка идёт… народ активно помогает.
Nodge
Сообщения: 26
Зарегистрирован: 2011.01.02, 23:17

Re: [EAuth] Единая авторизация пользователей

Сообщение Nodge »

Sam Dark писал(а):Может на github переедете? Там как-то веселее разработка идёт… народ активно помогает.
Согласен, пора мне уже git освоить... На следующей неделе попробую.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение samdark »

Если что — могу сделать репозиторий внутри yiiext.
PixoiD
Сообщения: 111
Зарегистрирован: 2009.09.25, 10:14

Re: [EAuth] Единая авторизация пользователей

Сообщение PixoiD »

Спасибо за расширение, очень удобно и простое в применении. Буду с нетерпением ждать новых релизов))))
Сила аргументов, аргументы силы!
Nodge
Сообщения: 26
Зарегистрирован: 2011.01.02, 23:17

Re: [EAuth] Единая авторизация пользователей

Сообщение Nodge »

Проект переехал на GitHub.
Кроме того сегодня вышла очередная версия, в которой добавлен класс для работы с Google по протоколу OAuth2 и исправлены некоторые ошибки.
Nodge
Сообщения: 26
Зарегистрирован: 2011.01.02, 23:17

Re: [EAuth] Единая авторизация пользователей

Сообщение Nodge »

Сегодня вышла версия 1.1.5.
Улучшена поддержка OAuth 2.0 провайдеров.
Добавлены Мой круг и Одноклассники.
Добавлена обработка времени жизни access_token для OAuth 2.0.
Подробности в changelog. Скачать.
Аватара пользователя
BuCeFaL
Сообщения: 447
Зарегистрирован: 2010.03.17, 21:22
Откуда: Kiev
Контактная информация:

Re: [EAuth] Единая авторизация пользователей

Сообщение BuCeFaL »

Очень интересное расширение, добавил в избранное как только статья появилась но есть вопрос.
Вот к примеру я использую несколько сервисов для единой авторизации но в тоже время я 1 человек с несколькими сервисами, а не несколько человек с 1 сервисом. Отсюда вопрос, если ли возможность объединить учетные записи для разных сервисов. Подобное реализовано много где, например в disqus, teamlab.com и кучи (почти всех) других сервисов.

PS: Знакомое название статьи :)

UPD: Уже разобрался.
Последний раз редактировалось BuCeFaL 2012.01.03, 16:57, всего редактировалось 2 раза.
Ответить