validateSignature(); $user = $this->authenticate(AuthenticationData::fromRequest($request)); wp_send_json_success(UserData::fromUser($user)); exit; } /** * @since 3.0.0 */ protected function authenticate(AuthenticationData $auth): WP_User { $userOrError = wp_signon([ 'user_login' => $auth->login, 'user_password' => $auth->password, ]); if (is_wp_error($userOrError)) { wp_send_json_error([ 'type' => 'authentication_error', 'message' => __('The login/password does not match or is incorrect.', 'give'), ], 401); exit; } return $userOrError; } }