Пресет «Смена пароля»
Пресет «Смена пароля» даёт вошедшему участнику страницу, где он меняет пароль сам: сверка старого пароля, запись нового. Почта для этого не нужна — участник уже вошёл. Работает с тем же типом участников, что и пресет «Вход». Разбираем поля окна параметров, схему по шагам и что проверить перед публикацией.
Смена пароля дополняет пару «вход + забыли пароль»: участник вошёл и хочет поменять пароль, не обращаясь к почте. Обычно пресет вешают на закрытую страницу личного кабинета.
Где найти пресет
Админка → «Сайт» → сценарий (удобно — закрытый, с режимом «Только для участников») → тулбар → «Пресеты» → карточка «Смена пароля».

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

2. Выберите тип контента участников — тот же, что в пресетах «Вход» и «Регистрация», и его свойства логина/пароля.
3. Согласуйте поля формы: старый и новый пароль — имена полей в разметке
вашей формы (по умолчанию old_password и new_password; сверьте с ней).
4. Проверьте, откуда сценарий берёт участника. Смена пароля работает для уже вошедшего: участник определяется по cookie-сессии, которую ставит пресет «Вход». Если сценарий живёт за «Только для участников», без верной сессии он просто не запустится.
5. Нажмите «Сгенерировать». Схема ляжет на холст; если холст был непустой — платформа сначала спросит «Заменить поток?».

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

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

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