Authenticate — Позволяет дополнительно проверить данные авторизации (логин/пароль) пользователя, до того как он будет авторизован. Хук-фильтр WordPress
Опубликовано: 01.09.2018
Позволяет дополнительно проверить данные авторизации (логин/пароль) пользователя, до того как он будет авторизован.
Сторож для дома: охранная система Ajax
Фильтр срабатывает всякий раз, когда юзер входит на сайт (авторизируется на сайте).
Функция обработчик должна вернуть объект WP_User , если проверка логина/пароля пройдена. В противном случае должны возвращаться объект WP_Error или null.
Этот фильтр является базовой проверкой логина/пароля в WordPress.
Polymer: Interacting with Google Services using nothing but HTML
Если нужно сделать дополнительные проверки авторизации после базовой проверки WordPress, но до того, как пользователь будет авторизован, используйте хук wp_authenticate_user .
Использование
add_filter( 'authenticate', 'filter_function_name_4601', 10, 3 ); function filter_function_name_4601( $user, $username, $password ){ // filter... return $user; } $user(null/WP_User/WP_Error)Объект WP_User, если пользователь прошел проверку.
Объект WP_Error или null.
null - означает что проверки аутентификации еще не было. WP_Error - означает, что проверка была, но данные не прошил эту проверку. WP_User - означает что проверка пройдена и можно перейти к следующим проверкам. $username(cтрока) Логин или email. Email работает с версии WP 4.5.0 до этого можно было указать только логин. $password(cтрока) Пароль в НЕ зашифрованном виде.Примеры
#1 Базовая проверка авторизации в WordPress
Для базовой проверки на хук authenticate прицеплены 3 функции:
Из файла: /wp-includes/default-filters.php .
// Default authentication filters add_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 ); add_filter( 'authenticate', 'wp_authenticate_email_password', 20, 3 ); add_filter( 'authenticate', 'wp_authenticate_spam_check', 99 );