[UserAuthHash] - авторизацию пользователя по хэш-коду.
[UserAuthHash] позволяет авторизовать пользователя без ввода логина и пароля, переходом на сайт по ссылке с хэш-кодом.
Особенности
— авторизация без ввода логина и пароля, переходом на сайт по ссылке с хэш-кодом
— можно включить/выключить возможность авторизации по хэш-коду, задать время жизни хэш-кода, указать контексты авторизации
Установка
— Подключите наш репозиторий
— Установите UserAuthHash
Попробовать пакет перед покупкой можно на modhost.pro, на нём эти дополнения можно выбрать прямо при создании сайта.
Сниппет UserAuthHash
Служит для генерации хэш-кода авторизации.
Пример вызова
стандарнтый синтаксис
синтаксис феном
синтаксис феном модификатор
Примечание
Авторизация не работает:
— для пользователей с ключем sudo
— для заблокированных пользователей
— для контекста mgr
Купить [UserAuthHash]
Особенности
— авторизация без ввода логина и пароля, переходом на сайт по ссылке с хэш-кодом
— можно включить/выключить возможность авторизации по хэш-коду, задать время жизни хэш-кода, указать контексты авторизации
— Подключите наш репозиторий
— Установите UserAuthHash
Попробовать пакет перед покупкой можно на modhost.pro, на нём эти дополнения можно выбрать прямо при создании сайта.
Сниппет UserAuthHash
Служит для генерации хэш-кода авторизации.
Пример вызова
стандарнтый синтаксис
<a href="[[++site_start]]?auth_hash=[[!UserAuthHash?&user=`2`&lifeTime=`1h`]]"&msorder=1>Заказы</a>
синтаксис феном
{set $args = [
'msorder' => 1,
'auth_hash' => ('!UserAuthHash'|snippet:['user' => 2,'lifeTime' => '1h'])
]}
<a href="{'site_start'|option|url:['scheme' => 'full','xhtml_urls' => 0]:$args}">Заказы</a>
синтаксис феном модификатор
{set $args = [
'msorder' => 1,
'auth_hash' => (['user' => 'test@gmail.com','lifeTime' => '1h']|getAuthHash)
]}
<a href="{'site_start'|option|url:['scheme' => 'full','xhtml_urls' => 0]:$args}">Заказы</a>
Примечание
Авторизация не работает:
— для пользователей с ключем sudo
— для заблокированных пользователей
— для контекста mgr
Купить [UserAuthHash]
Поблагодарить автора
Отправить деньги
Комментарии: 11
Интересный модуль. Я только не понял как определяется под каким пользователем залогинится юзер и кто эту ссылку генерит?
нужно указать id, либо почту уже существующего пользователя. Использовать при какой либо рассылке, когда необходимо чтоб пользователь автоматически авторизовался при заходе на сайт.
Полезная разработка, спасибо
2 раза подобный модуль делал, а прилизать и оформить в отдельный компоненть и выложить руки не добрались :-).
аналогично)
вот на третий раз уже решил оформить…
вот на третий раз уже решил оформить…
Небезопасная вещь.
Какие то замечания по коду? Или просто комментарий ради комментария?
@Володя, к сожалению нет возможности потестировать, просто хотел указать, что когда мы такое на своем проекте пилили, у нас возникла проблема с тем что пользователи копировали ссылки с хэшем в GET-параметре из адресной строки и делились друг с другом (не для того чтобы авторизовать их под своим именем, а просто чтобы контентом делились и авторизация была побочным эффектом).
Нам пришлось после авторизации убирать из location.href этот самый хэш (ну либо делать редирект на новый url в modx, точно не помню как сделали).
Если у вас это реализовано — то хорошо. Спасибо за реализацию готового решения! Успехов вам!
Нам пришлось после авторизации убирать из location.href этот самый хэш (ну либо делать редирект на новый url в modx, точно не помню как сделали).
Если у вас это реализовано — то хорошо. Спасибо за реализацию готового решения! Успехов вам!
Доброе утро.
Не уверен что один и тот же хэш-код должен авторизовывать пользователя на постоянной основе, так как возникнут проблемы описанные вами. Возможно у следующих версиях функционал множественной авторизации по одному хэш-коду появится — тогда и буду думать над решением данного вопроса.
Спасибо!
пользователи копировали ссылки с хэшем в GET-параметре из адресной строки и делились друг с другом (не для того чтобы авторизовать их под своим именем, а просто чтобы контентом делились и авторизация была побочным эффектом).В текущей версии пакета UserAuthHash возможна только разовая авторизация, после авторизации хэш-код авторизации помечается как отработанный и далее не активен.
Нам пришлось после авторизации убирать из location.href этот самый хэш (ну либо делать редирект на новый url в modx, точно не помню как сделали).
Не уверен что один и тот же хэш-код должен авторизовывать пользователя на постоянной основе, так как возникнут проблемы описанные вами. Возможно у следующих версиях функционал множественной авторизации по одному хэш-коду появится — тогда и буду думать над решением данного вопроса.
Спасибо!
Если пользователь уже авторизован то hash отрабатывается?
да
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.