Сышышь ты, выходи сюда,
поговорим !

Authenticate — Позволяет дополнительно проверить данные авторизации (логин/пароль) пользователя, до того как он будет авторизован. Хук-фильтр WordPress

Опубликовано: 01.09.2018

видео authenticate — Позволяет дополнительно проверить данные авторизации (логин/пароль) пользователя, до того как он будет авторизован. Хук-фильтр WordPress

Как настроить аккаунт Mailchimp

Позволяет дополнительно проверить данные авторизации (логин/пароль) пользователя, до того как он будет авторизован.


Сторож для дома: охранная система 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 );

Где используется хук

... /** * Filters whether a set of user login credentials are valid. * * A WP_User object is returned if the credentials authenticate a user. * WP_Error or null otherwise. * * @since 2.8.0 * @since 4.5.0 `$username` now accepts an email address. * * @param null|WP_User|WP_Error $user WP_User if the user is authenticated. * WP_Error or null otherwise. * @param string $username Username or email address. * @param string $password User password */ $user = apply_filters( 'authenticate', null, $username, $password ); if ( $user == null ) { // TODO what should the error message be? (Or would these even happen?) // Only needed if all authentication handlers fail to return anything. $user = new WP_Error( 'authentication_failed', __( '<strong>ERROR</strong>: Invalid username, email address or incorrect password.' ) ); } $ignore_codes = array('empty_username', 'empty_password'); if (is_wp_error($user) && !in_array($user->get_error_code(), $ignore_codes) ) { /** * Fires after a user login has failed. * * @since 2.5.0 * @since 4.5.0 The value of `$username` can now be an email address. ...
rss