Каковы особенности операции сброса пароля?
- Это что-то меняет.
- Есть значение, для которого оно установлено.
- Только некоторым людям разрешено делать это (пользователь, администратор или любой другой, возможно, с другими правилами относительно того, как это можно сделать).
Пункт 1 здесь означает, что вы не можете использовать GET, вы должны либо POST-то, представляющее операцию смены пароля, в URI, представляющий ресурс, который обрабатывает изменения пароля, либо PUT, представляющее новый пароль, в URI, представляющий пароль или представляющий что-то пользователь) которого пароль является функцией.
Как правило, мы бы POST, не в последнюю очередь потому, что это может быть неудобно ПОСТАВЛЯТЬ что-то, что мы не можем позже ПОЛУЧИТЬ и, конечно, мы не можем получить пароль.
Таким образом, пункт 2 будет представлять данные, представляющие новый пароль, в том виде, в котором он размещен.
Пункт 3 означает, что нам нужно авторизовать запрос. Это означает, что, если пользователь является текущим пользователем, нам потребуется подтверждение текущего пароля (хотя не обязательно получать текущий пароль, например, при вызове на основе хеша). был использован, чтобы доказать знание этого, не отправляя это)
Следовательно, URI должен быть похож на <http://example.net/changeCurrentUserPassword>
или <http://example.net/users/joe/changePassword>
.
Мы можем решить, что хотим получить текущий пароль в данных POST, а также в общем используемом механизме авторизации.