@ammorium

Безопасно отправлять результат wp_signon в открытом виде?

Для авторизации через аякс используется функция wp_signon. Безопасно отправлять весь ее результат?
$user = wp_signon($data, false);
if($user instanceof WP_Error)
    echo json_encode($user);
    wp_die();
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Как говорится в WP комьюнити, you're doing it wrong :)

wp_signon() возвращает объет WP_Error или WP_User (в случае неудачи или успешной авторизации соответственно). Если они вам не нужны в полном виде (а они таки не нужны в 99,99% случаев) - зачем вообще их возвращать? Проверяйте в обработчике, если это WP_Error - берите его, вынимайте саму ошибку и отправляйте ее через wp_send_json_error() (дока). Если пришел объект WP_User - берите из него что нужно (например, display_name) и возвращайте данные через wp_send_json_success() (дока). Для дальнейшей работы с данными пользователя у вас уже будет доступ к объекту WP_User через функцию wp_get_current_user() (дока).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы