Простой плагин, который добавляет возможность сброса пароля в
WordPress REST API с помощью кода. Процесс состоит из двух этапов: пользователь запрашивает сброс пароля. На зарегистрированный адрес электронной почты отправляется 4-значный код. Пользователь вводит код при установке нового пароля, который устанавливается только в том случае, если код действителен и не истек. Также можно проверить действительность кода без сброса пароля. что дает возможность установить пароль другими способами или иметь двухэтапный процесс для проверки кода и сброса пароля при желании. В настройках по умолчанию используется 4-значный цифровой код, срок действия которого составляет 15 минут, после чего потребуется запросить новый код. Конечные точки Плагин добавляет две новые конечные точки в REST API: Конечная точка: / wp-json / bdpwr / v1 / reset-password - HTTP-команда: POST - Параметры (все необходимые): - email / wp-json / bdpwr / v1 / set -password - HTTP-команда: POST - Параметры (все обязательные): - электронная почта - пароль - код / wp-json / bdpwr / v1 / validate-code - HTTP-команда: POST - Параметры (все обязательные): - электронная почта - запросы примеров кода (jQuery) Сброс пароля $ .ajax ({url: '/ wp-json / bdpwr / v1 / reset-password', метод: 'POST', данные: {email: 'example@example.com',}, успех: функция (ответ) {console.log (ответ);}, ошибка: функция (ответ) {console.log (ответ);},}); Установить новый пароль $ .ajax ({url: '/ wp-json / bdpwr / v1 / set-password', метод: 'POST', данные: {email: 'example@example.com', код: '1234', пароль: 'Pa $$ word1',}, успех: функция (ответ) {console.log (ответ);}, ошибка: функция (ответ) {console.log (ответ);},}); Проверить код $ .ajax ({url: '/ wp-json / bdpwr / v1 / validate-code', метод: 'POST', данные: {email: 'example@example.com', код: '1234',} , успех: функция (ответ) {console.log (ответ);}, ошибка: функция (ответ) {console.log (ответ);},}); Примеры успешных ответов (JSON) Сброс пароля {"data": {"status": 200}, "message": "На ваш адрес электронной почты было отправлено письмо для сброса пароля". } Установите новый пароль {"data": {"status": 200}, "message": "Пароль успешно сброшен". } Проверить код {"data": {"status": 200}, "message": "Предоставленный код действителен". } Примеры ответов об ошибках (JSON) Сброс пароля {"code": "bad_email", "message": "Пользователь с этим адресом электронной почты не найден.", "Data": {"status": 500}} Установить новый пароль {" code ":" bad_request "," message ":" Вы должны запросить код сброса пароля, прежде чем пытаться установить новый пароль. "," data ": {" status ": 500}} Проверить код {" code ":" bad_request "," message ":" Предоставленный код сброса недействителен. "," data ": {" status ": 500}} Фильтры Был добавлен ряд фильтров
WordPress, чтобы помочь настроить процесс, пожалуйста, запросите дополнительные фильтры или отправьте запрос на вытягивание с любым, что вам нужно. Отфильтруйте длину кода add_filter ('bdpwr_code_length', function ($ length) {return 4;}, 10, 1); Срок действия фильтра add_filter ('bdpwr_code_expiration_seconds', function ($ seconds) {return 900;}, 10, 1); Отфильтруйте формат даты, используемый плагином для отображения времени истечения срока add_filter ('bdpwd_date_format', function ($ format) {return 'H: i';}, 10, 1); Фильтрация темы электронного письма для сброса add_filter ('bdpwr_code_email_subject', function ($ subject) {return 'Password Reset';}, 10, 1); Фильтр содержимого электронной почты add_filter ('bdpwr_code_email_text', function ($ text, $ email, $ code, $ expiry) {return $ text;}, 10, 4); Отфильтруйте максимальное количество попыток, разрешенных для использования кода сброса, по умолчанию - 3, -1 для неограниченного add_filter ('bdpwr_max_attempts', function ($ plays) {return 3;}, 10, 4); Отфильтровать, следует ли включать в код буквы верхнего и нижнего регистра, а также числа, по умолчанию - false add_filter ('bdpwr_include_letters', function ($ include) {return false;}, 10, 4); Отфильтруйте символы, которые будут использоваться при генерации кода, вы можете использовать любую строку, которую хотите, по умолчанию: 0123456789 add_filter ('bdpwr_selection_string', function ($ string) {return '0123456789';}, 10, 4); Отфильтруйте роли WP, которым разрешено сбрасывать свой пароль с помощью этого плагина, значение по умолчанию - любое, в примере ниже показано удаление администраторов add_filter ('bdpwr_allowed_roles', function ($ roles) {$ key = array_search ('administrator', $ roles); if ($ ключ! == false) {unset ($ roles [$ key]);} return $ roles;}, 10, 1); Фильтр для добавления пользовательского пространства имен для REST API add_filter ('bdpwr_route_namespace', function ($ route_namespace) {return 'xyz / v1';}, 10, 1); Значок / баннер плагина Credits от Sincerely Media
Автор: Be Devious Web Development
Версия: 0.0.13
Последнее обновление: 2021-03-15 6:25pm GMT