Пресет «Смена пароля»

Пресет «Смена пароля» даёт вошедшему участнику страницу, где он меняет пароль сам: сверка старого пароля, запись нового. Почта для этого не нужна — участник уже вошёл. Работает с тем же типом участников, что и пресет «Вход». Разбираем поля окна параметров, схему по шагам и что проверить перед публикацией.

Смена пароля дополняет пару «вход + забыли пароль»: участник вошёл и хочет поменять пароль, не обращаясь к почте. Обычно пресет вешают на закрытую страницу личного кабинета.

Где найти пресет

Админка → «Сайт» → сценарий (удобно — закрытый, с режимом «Только для участников») → тулбар → «Пресеты» → карточка «Смена пароля».

Галерея пресетов: карточка «Смена пароля»

Что собирает пресет

Узел Роль в сценарии
Начало Форма смены пароля шлёт данные на маршрут сценария
GraphQL Прочитать текущий отпечаток пароля участника
Условие Старый пароль из формы совпадает с отпечатком?
GraphQL Записать новый пароль (только поле пароля)
Редирект На страницу «пароль изменён» — или «старый пароль неверен»

Шаг за шагом

1. Откройте окно параметров (карточка «Смена пароля»).

Окно параметров пресета «Смена пароля»

2. Выберите тип контента участников — тот же, что в пресетах «Вход» и «Регистрация», и его свойства логина/пароля.

3. Согласуйте поля формы: старый и новый пароль — имена полей в разметке вашей формы (по умолчанию old_password и new_password; сверьте с ней).

4. Проверьте, откуда сценарий берёт участника. Смена пароля работает для уже вошедшего: участник определяется по cookie-сессии, которую ставит пресет «Вход». Если сценарий живёт за «Только для участников», без верной сессии он просто не запустится.

5. Нажмите «Сгенерировать». Схема ляжет на холст; если холст был непустой — платформа сначала спросит «Заменить поток?».

Холст после генерации пресета «Смена пароля»

Как проходит смена

Ключевой узел — Условие: bcrypt-сравнение старого пароля из формы с отпечатком из записи участника.

Инспектор условия: сверка старого пароля

Совпало — узел GraphQL записывает новый пароль, причём меняет только поле пароля: имя, почта и остальные поля участника не трогаются.

Инспектор узла записи нового пароля

Не совпало — участник попадает на страницу с сообщением об ошибке, данные не меняются.

Что проверить после генерации

  • Маршрут сценария — закрытая страница (режим «Только для участников» у узла «Начало»).
  • «Сохранить черновик» → «Опубликовать сценарий» («Черновик, превью и публикация»).
  • Прогон на превью: смена с верным старым паролем → вход с новым; смена с неверным старым → сообщение об ошибке, пароль прежний.

Тонкости

  • Новый пароль после смены действует сразу: другие сессии участника (другие браузеры) продолжат работать до конца срока своих cookie. Это обычное поведение сайтов с cookie-сессиями.
  • Сообщение об ошибке не уточняет, какое из полей не сошлось, — проверка одна: старый пароль.
  • Форма смены пароля на вашем сайте отправляет данные на маршрут сценария — привязка POST создастся при генерации.

Частые вопросы

Вопрос Ответ
Участник забыл старый пароль — что ему дать? Пресет «Забыли пароль»: там подтверждение идёт через почту, старый пароль не нужен.
Можно разрешить менять и логин? Пресет меняет только пароль. Логин меняется обычным редактированием записи участника (вручную или отдельным сценарием).
Почему после смены пароля не выкидывает из других браузеров? Так работают cookie-сессии: каждая браузерная сессия живёт до конца своего срока. Политика «смена пароля закрывает все сессии» — про серверные платформы с таблицей сессий.
Куда участник попадает после успешной смены? На /?password=changed (при неверном старом пароле — /?password=wrong); адреса зашиты в узлах «Редирект» на холсте — поменяйте их прямо там, если нужно.

Следующая статья: Пресет «Выход»

См. также: Пресет «Вход» · Узлы-действия: что умеет каждый