Подтвердить / изменить пароль через REST API

Я хочу изменить пароль пользователя через 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.

5
задан Donal Fellows 23 November 2011 в 13:24
поделиться