Logout¶
Почему я не могу выйти из системы? Вы просто вызываете страницу, содержащую ваш сниппет Login, и передаете параметр URL “logout” для указания службы. Сниппет Login для этого примера находится на странице 21:
Optional properties (non login)¶
Полезные параметры, которые могут ускорить процесс входа в систему.
Name | Description | Default |
---|---|---|
recaptchaHeight | Can be used to modify the ReCaptcha iframe Height attribute size. | 300 |
recaptchaTheme | Can be used to modify the ReCaptcha theme to ‘red’, ‘white’, ‘blackglass’, ‘clean’, or others as they are introduced by Google. | clean |
recaptchaWidth | Can be used to modify the ReCaptcha iframe Width attribute size. | 500 |
Properties¶
Вы можете изменить поведение Login, используя некоторые свойства конфигурации, которые входят в комплект поставки.
Smscaptcha
Настройки:
- CodeLifeTime – срок действия введенного кода, в секундах. Если пользователь пытается ввести код до истечения срока действия, выводится сообщение errorCodeUsed. По умолчанию – 86400 (дней);
- ErrorEmptyCode – сообщение об ошибке, если пользователь получил, но не ввел код. По умолчанию – “Введите код авторизации”;
- ErrorCodeRequired – сообщение об ошибке, если пользователь не запросил код. По умолчанию – “Получить код авторизации”;
- ErrorCodeFailed – сообщение об ошибке, если пользователь ввел неправильный код авторизации. По умолчанию – “Недействительный код авторизации”;
- ErrorCodeExpired – сообщение об ошибке, если пользователь не ввел полученный код в течение указанного времени. По умолчанию – “Код авторизации истек, получите новый”;
- ErrorCodeUsed – сообщение об ошибке, если пользователь уже ввел код для текущей формы. По умолчанию – “Код авторизации уже был использован”.
Для использования этой капчи необходимо создать таблицу в базе данных:
Чтобы отправить код в другую форму, необходимо указать сниппет:
Tpltype options¶
Для свойств tplType и errTplType доступны различные варианты. Это могут быть:
- ModChunk – Предоставленный tpl должен быть именем чанка.
- File – Должен быть абсолютный путь к файлу tpl.
- Inline – содержимое tpl будет находиться непосредственно в самом свойстве tpl.
- Embedded – tpl уже находится на странице; просто сделайте свойства ошибки заполнителями.
Usage¶
Образец входа в систему:
[[!Login]]
Шаблон также может быть указан, но убедитесь, что также вызывается параметр &tplType:
[[!Login? &tplType=`modChunk` &loginTpl=`myLoginChunk`]]
Дополнительные параметры смотрите в свойствах фрагмента.
Авторизация на сайте с помощью hybridauth.
Надеюсь, второй урок из этой серии помог вам установить компонент hybridAuth. Поэтому давайте сразу перейдем к делу. Я выделю его отдельно, потому что содержимое окна авторизации также присутствует в модальном окне.
Теперь мы должны заполнить чанк “providerTpl” следующей информацией
Другие изменения
– Для всех чанков используется формат PSR-2. Я постепенно привожу все свои исправления в соответствие.
– Джури, автоматическое соединение, было удалено, многие клялись в этом.
– Многоязычные слова теперь доступны в чанах активации по электронной почте и телефону.
Office больше не включает HybridAuth в свою установку. Начнем с того, что он требуется не всем. Во-вторых, мне надоело, что люди пытаются убедить меня в том, что платные дополнения не могут быть ему доступны.
– Поскольку в противном случае все журналы были бы забиты неудачными попытками входа в систему, ошибки авторизации теперь регистрируются на уровне INFO, а не на уровне EERROR.
Как это всё работает?
1. После нажатия кнопки Отправить информация отправляется на одну из следующих страниц:
Настройка провайдера odnoklassniki.
Для создания приложения необходимо зарегистрироваться в Одноклассниках в качестве разработчика. После этого нажмите на ссылку, чтобы запустить приложение.
Напишите “Имя приложения” и нажмите кнопку OAuth для выполнения этой операции. После отправки письма вы получите письмо с данными приложения, которые необходимо ввести для настройки ha.keys. Одноклассники
{«id»:«123456789»,«key»:«ABCDEFGHIJKLMNOPQ»,«secret»:«ABCDEFGHIJKLMNOPQ1234A12»}
Мы сможем это сделать, если попробуем авторизацию! Ура! Последняя платформа социальных сетей готова. В документации вы найдете инструкции по настройке дополнительных социальных сетей. Мы начнем создавать ваш индивидуальный аккаунт вместе с вами.
Настройка провайдера vk.
Мы должны быть готовы к тому, что настройка Вконтакте займет некоторое время. Начнем с того, что перейдем по ссылке. Дополнительно задаем домены и URL, а также название приложения.
Обновление
Помимо изменения системных настроек, при обновлении существующего проекта необходимо изменить чанки:
- Добавьте поля мобильный телефон и phone_code в формы для аутентификации, регистрации и редактирования профиля.
- В почтовых сообщениях добавлена проверка на наличие заполнителя [[ кода]], и если он есть – вывод текста на телефоны вместо почты.
Все чанки можно открыть и сравнить, поскольку все они находятся в core/components. Следует помнить, что поле ввода кода подтверждения скрыто классом hidden и видно только тогда, когда нужно ввести пароль, полученный по SMS.
Параметры сниппета register
В вызове фрагмента Register используются следующие параметры:
Имя параметра | Описание |
---|---|
submitVar | Ключ, значение которого проверяется перед тем как сниппет Register начнёт обрабатывать форму. Если в качестве значения этого параметра указать пустую строку или false , то сниппет Register будет обрабатывать форму при получении любого Post запроса. |
activation | Определяет стоит ли подтверждать email, указанный в регистрационной форме, или нет. Т.е. пользователь не будет активированным до тех пор, пока он не подтвердит свой email. Значение: 1 (да, необходимо). |
activationEmailSubject | Тема письма, в котором приходит ссылка для активирования учётной записи. |
activationEmailTpl | Шаблон письма, содержащий информацию и ссылку для активирования учётной записи. Будем использовать шаблон по умолчаию: lgnActivateEmailTpl. |
activationResourceId | Идентификатор ресурса, в котором находится сниппет с помощью которого осуществляется активирование учётной записи пользователя. Значение: 3 (id ресурса “Подтверждение регистрации”). |
successMsg | Отображает указанное сообщение после успешной отправки регистрационной формы. Этот параметр работает тогда, когда не используется параметр submittedResourceId. |
submittedResourceId | Перенаправляет пользователя на указанный ресурс после успешной отправки регистрационной формы. |
usergroups | Список (через запятую) названий групп пользователей или идентификаторов этих групп, в которые необходимо добавить только что зарегистрированного пользователя. Значение: Users. |
usernameField | Имя поля формы, содержащее в качестве значения имя пользователя. Значение: email. |
passwordField | Имя поля формы, содержащее пароль пользователя. Значение: password. |
validate | Список (через запятую) полей для валидации (проверки). Указывается так: имя:валидатор (например, username: required , email:required ). Валидаторы можно соединять. Например, email:email:required . |
placeholderPrefix | Префикс для плейсхолдеров. Например, значения плейсхолдеров для поля email с учётом префикса reg. : [[! reg.email]] (значения поля), [[! reg.error.email]] (значение ошибки). |
Провайдеры
Вы извлечете пользу из этой системной настройки для SMS.
office_sms_provider
АнкетЭто доступно.
. Нет никаких предпочтений, когда речь идет об услугах; я уже знал о них.
Работа провайдеров регулируется следующими настройками системы.
- Office_sms_id – идентификатор клиента в сервисе.
- Office_sms_key – ключ клиента в сервисе, не требуется для SmsRu.
- Office_sms_from – текстовое обозначение отправителя, должно быть согласовано с сервисом.
Чтобы добавить собственный провайдер, откройте core/components/office model (SMS) и создайте новый класс.
myprovider
Внутри должно быть деревянное дно. class,php
Как назвать это место?
MyProvider
В настройке office_sms-provider.
Это можно использовать для чего угодно, включая такие задачи, как эта:
$provider = $modx->getOption('office_sms_provider');
if ($service = $modx->getService($provider, $provider, MODX_CORE_PATH . 'components/office/model/sms/')) {
$send = $service->send('79234778899', 'Приветик!');
return $send === true
? 'Сообщение отправлено!'
: 'Ошибка при отправке сообщения: ' . $send;
}
}
Вот так вот просто.
Создание ресурсов и настройка доступа к ним
Включаем следующие страницы (ресурсы):
- Регистрация (2);
- Подтверждение регистрации (3);
- Авторизация (4);
- Поиск пароля (5);
- Личный кабинет (6);
- Изменение пароля (7);
- Редактирование данных (8).
Установка пакета login
Откройте панель администратора и перейдите на страницу “Менеджер пакетов” (в разделе “Пакеты – Установщик” в главном меню), чтобы установить компонент входа для CMS MODX Revolution. Выберите “Login” в поле поиска, а затем нажмите “Загрузить пакеты.” после того, как найдете и установите пакет.
Форма авторизации и её обработка с помощью login
Компонент Login будет иметь доступ к компоненту ” Authorization “. Этот компонент управляет процессом авторизации пользователя и отображает простую форму входа и выхода из системы.
1. Вызовите сниппет Login для добавления в содержимое ресурса “Authorization”.
[[!Login?
&tplType=`modChunk`
&loginTpl=`myLoginTpl`
&logoutTpl=`myLogoutTpl`
&loginResourceId=`6`
]]
Сниппета Login:
Содержание Comorów mylogintpl (входная форма):
Заключение
В связи с добавлением нового функционала, цена на Office поднялась на 500 руб., до
1990
! Обновление с предыдущих версий бесплатно.
Using recaptcha¶
Сначала убедитесь, что ваши API-ключи reCaptcha введены в системные настройки recaptcha.public_key и recaptcha.private_key. Для того чтобы preHook “recaptcha” был добавлен в ваш вызов сниппета, его нужно будет добавить только в этот момент:
[[!Login? &preHooks=`recaptcha`]]
Кроме того, убедитесь, что ваш чанк loginTpl содержит заполнитель [[login.recaptcha_html]]. В результате reCaptcha станет необходимой для входа в систему.
Настройки, специфичные для ReCaptcha, см. в разделе Необязательные свойства.
Recaptcha
ReCAPTCHA Google V2. Необходимо подключить скрипт на странице, содержащей форму: