Я хочу изменить пароль пользователя через REST API. Это не функция забытого или сброса пароля, а вошедший в систему пользователь, желающий изменить свой пароль.
Для формы требуется текущий пароль, новый пароль и подтверждение нового пароля. Однако я хочу проверять каждое поле формы по мере его заполнения пользователем. Это тривиально для newPassword
и confirmNewPassword
(на стороне клиента), но не для currentPassword
. В настоящее время выполняется обновление объекта «Пользователь» через PUT / users /: id
. Если передается параметр пароля, я проверяю параметр currentPassword
и проверяю его правильность перед сохранением. Однако для проверки я не уверен в лучшем подходе.
У меня также есть POST / users / validate
- тоже не уверен, что это лучше всего. Это проверяет объект User для создания и обновления, но проверяет только поля, принадлежащие объекту User ( электронная почта
, имя пользователя
, пароль
). currentPassword
не входит в их число. Хотите знать, как с этим справиться.Некоторые вещи, которые я рассмотрел:
POST / users / check_password
,
POST / users / validate
(добавление проверки для currentPassword, если этот параметр передан, и убедитесь, что currentPassword соответствует существующему паролю пользователя) и
POST / users /: id / validate
(отдельная проверка для существующего пользователя, требующая currentPassword
).
Мы будем благодарны за любые мысли или советы. Мое первое приложение, которое предоставляет функциональность только через REST API.