WP_GET_SESSION_TOKEN() │ WP 4.0.0
Функция WP_GET_SESSION_TOKEN() извлекает текущий токен сессии из cookie logged_in. Этот токен используется для аутентификации пользователя, когда он входит на сайт.
Использование
Для получения токена сессии используйте следующую функцию:
wp_get_session_token();
Пример 1: Вывод токена сессии
Вот как вывести токен сессии. Этот пример показывает, как можно использовать функцию var_dump() для отображения результата:
var_dump( wp_get_session_token() );
// string(43) "6nhBEF74hfMqVO1p0sdlJQ78Ui5yq85EZO8JIj31"
Пример 2: Проверка уникальности сессии
В этом примере мы проверяем все активные сессии текущего пользователя. Если найдется сессия с токеном, отличным от текущего, все остальные сессии будут завершены. Это полезно для обеспечения безопасности:
if ( is_user_logged_in() ) {
$current_token = wp_get_session_token();
$all_sessions = wp_get_all_sessions( get_current_user_id() );
foreach ( $all_sessions as $token => $session_data ) {
// Если найдена другая сессия, завершите её
if ( $token !== $current_token ) {
wp_destroy_other_sessions();
break; // Остановим цикл, так как сессия завершена
}
}
}
Возврат значения
Функция возвращает строку, представляющую токен сессии.
Код функции
Вот как можно найти определение функции в коде WordPress:
function wp_get_session_token() {
$cookie = wp_parse_auth_cookie( '', 'logged_in' );
return ! empty( $cookie['token'] ) ? $cookie['token'] : '';
}
Эта функция обращается к cookie logged_in, чтобы получить токен. Если токен существует, он возвращает его; если нет — возвращает пустую строку.
Изменения
Функция была впервые представлена в версии 4.0.0.
Связанные функции
Ниже приведены функции, которые могут быть полезны при работе с регистрацией и аутентификацией пользователей:
Регистрация (вход для пользователей)
register_new_user()wp_lostpassword_url()wp_new_user_notification()
Вход/Выход
check_password_reset_key()get_password_reset_key()is_login()is_user_logged_in()wp_authenticate()wp_destroy_other_sessions()wp_logout()
Эти функции помогут вам более эффективно управлять сессиями и пользователями в WordPress.