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