CAS-сервер - единая авторизация для LiveStreet сайтов


CAS-сервер позволяет организовать единую точку авторизации (паспорт) ваших проектов на LiveStreet CMS. Ранее функционал обсуждался в топиках livestreet.ru/blog/16980.html и livestreet.ru/blog/17422.html
В комплекте идет плагин и полностью готовый к установке сайт CAS-сервера, шаблон которого реализован на Bootstrap. Подробнее от настройке будет ниже.

Как это работает
1. При попытке авторизации/регистрации пользователя на одном из ваших сайтов, он перенаправляется на сайт CAS-сервера.
2. После успешной авторизации/регистрации пользователь автоматически перенаправляется обратно на ваш сайт
3. Регистрация пользователя происходит только в БД того сайта, от куда он пришел и дополнительно в БД CAS-сервера
4. Если пользователь авторизовывается на сайте, где у него еще нет аккаунта, но есть аккаунт на другом вашем сайте, то будет произведена автоматическая регистрация на сайте с последующей авторизацией

Логика работы единой авторизации похожа на авторизацию на этом сайте, где весь процесс проходит через сайт passport.livestreetcms.com (происходит автоматическая регистрация/авторизация на 3-х сайтах).

ВНИМАНИЕ! Рекомендуется установки при одновременном запуске ваших других сайтов, где еще нет новых пользователей. Также можно произвести установку, если у вас уже есть один работающий сайт с пользователями — они импортируются в CAS-сервер. Если у вас два и более работающих сайта с пользователями, то вам скорее всего потребуется самостоятельно пройти нетривиальный ручной процесс объединения всех пользователей в одну БД.

Настройка
Для начала необходимо установить CAS-сервер. Устанавливается он аналогично LS — скопировать содержание архива в корень сайта и запустить инсталлятор (запуститься автоматически при заходе на главную страницу).
Далее под админом нажимаем кнопку «Управление» и добавляем необходимые сайты.

Затем на каждом вашем LS сайте необходимо установить плагин casapi и у него в конфиге прописать url CAS-сервера и ключи доступа к API (взять их нужно из локального конфига CAS-сервера, где они автоматически сгенерировались при установке). Если генерации ключей не произошло, то вы можете прописать свои любые уникальные значения, главное, чтобы они совпадали в конфигах ваших сайтов и в конфиге CAS-сервера.

Если у вас уже есть сайт с пользователями, то вам предварительно (после установки CAS-сервера) необходимо выполнить миграцию этих пользователей в общую БД.
Для этого в конфиге CAS-сервера укажите в параметре 'migrations' реквизиты доступа к вашей БД сайта LS. Здесь нужно учесть момент, что к этой БД нужен рабочий доступ с сервера CAS (либо БД можно скопировать во временную руками на сервер CAS и использовать ее для миграции, потом удалить).
После настройки конфига запускать миграцию нужно из консоли так:
php -f /path/to/site/application/utilities/cron/cas_migrate.php

Где /path/to/site это путь до CAS-сайта на сервере.
После этого БД CAS-сервера заполнится пользователями с вашего сайта.
Все больше и больше предприятий малого бизнеса в России избегают выплачивать заработную плату в конвертах. Банковские зарплатные проекты позволяют оптимизировать расходы и упорядочить учет.

20 комментариев

avatar
Ух ты вто это круто!) Низкий поклон и благодарность за труды!
avatar
Отличная новость, хоть лично для меня и не вполне своевременная. Я обращался за аналогичным функционалом более года назад, получил отказ и с тех пор уже успел подзабыть о существовании этого некогда интересного и перспективного проекта.

С момента выпуска версии 1.0 прошло уже более двух лет, с тех пор Livestreet как продукт уже успел морально устареть. В связи с этим вопрос, который ранее традиционно встречался в штыки — когда планируется релиз новой версии?
avatar
Повторяю. Опять. Точной даты нет.
avatar
Мне хотелось бы получить официальный комментарий, а не эмоциональное испражнение постороннего человека.
avatar
Поиск, мой не вежливый. PSNet тысячу раз про релиз говорил.
avatar
Уж не знаю, почве чего у столь юного создания возник синдром вахтёра, но за мой счёт самоутвердиться у тебя точно не получится.
avatar
У вас фобии, нудный вы наш.
avatar
Думаю 2-й версии не будет. Судя по изменениям на github новую версию можно смело называть 3-й ))
avatar
Важен не номер версии, а регулярность обновления и развитие продукта. Сейчас складывается впечатление, что Livestreet как продукт практически мёртв.

Отдельно отмечу, что развитие кода не является продуктом. Особенно, если учесть, что новые идеи влекут за собой неминуемое ухудшение производительности. Теоретически, этот недостаток можно было бы исправить внедрением блочной архитектуры. Но, вероятно, авторы проекта сосредоточены на чём-то другом.

Даже на этой странице видно, что TTFB составляет малокомфортные (если не сказать позорные) 1,37 с. Что будет в следующей версии — и предполагать не хочется.
avatar
Что насчет поддержки OAuth?
avatar
Если речь о том, чтобы наделить CAS-сервер возможностью быть OAuth-провайдром для любых сайтов, то это просто замечательная идея.
avatar
В каком виде?
avatar
Предполагаю, что интеграция с плагином autoopenid для CAS домена.
avatar
При 3-4 продажах плагина можно сделать.
Там потребуются доработки autoopenid, т.к. CAS-сервер работает на текущей git версии LS.
avatar
Да, речь идет о поддержке OAuth-аунтификации на CAS-сервере

CAS-сервер в качестве OAuth-провайдера тоже любопытная идея, но не столь актуальная…
avatar
А чем эта реализация лучше чем бесплатный фор отсюда (демка)?
avatar
Бесплатный? не нашел ссылки на загрузку…

Судя по описанию, там общая авторизация — это бонус к функционалу, а не его суть. Суть там в поддержке мультисайтовости на одной копии движка. На сколько это корректно реализовано судить не могу, но потенциальных проблем там огромное количество.

А CAS-сервер это именно единый центр авторизации и не более. Что дает возможность подключать к нему различные сайты как на LS (сообщества, магазины и прочее реализованное на LS), так и сайты на совершенно других движках (достаточно для них написать поддержку API CAS-сервера).
Дополнительно в любой момент можно отключить какой-либо сайт от интеграции с CAS и он продолжит работать как полностью независимый сайт, но уже со своей авторизацией/регистрацией.
комментарий был удален
avatar
Как связаться с продавцом модуля кто подскажет?
avatar
1) Посмотреть кто опубликовал, написать в личку.
2) Написать в поддержку плагина.
3) Написать в саппорт LS, ибо ls-soft.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.