У нас есть веб-страница Wordpress, и мы хотим сделать небольшое приложение для iOs и android. Так что я только что сделал API. Телефонный программист - фрилансер, поэтому в это время у меня нет ее кода, поэтому этот вопрос будет посвящен, может быть, но, возможно, некоторые из вас узнают ответ, если я скажу, что я сделал.Различные результаты от браузера и от мобильных
В этом API есть несколько методов, но для всех из них (кроме входа в систему) требуется аутентифицированный пользователь.
Так я сделал запрос, как это (сейчас рабочая ссылка): http://anydomain.com/service/app_request.php?request=login&username=xxx&password=yyy&trid=zzz
Этот сценарий начать с:
session_start();
include('../wp-load.php');
Так что, когда она вызывать сценарий с соответствующими учетными данными, я сделать авторизоваться.
$creds = array();
$creds['user_login'] = $this->getVars['username'];
$creds['user_password'] = $this->getVars['password'];
$creds['remember'] = false;
if (is_ssl()) {
$secure_cookie = true;
} else {
$secure_cookie = false;
}
$user = wp_signon($creds, $secure_cookie);
wp_set_current_user($user->ID);
wp_set_auth_cookie($user->ID, false, false);
$user->data->user_registered = $this->formatDateForApp($user->data->user_registered);
$this->response['user'] = $user->data;
Если я использую браузер с рабочего стола, все в порядке, пользователь вошел в систему, и я мог бы вызвать запросы.
Но когда она пытается использовать запрос выхода из системы, например, скрипт возвращает, не было пользователей Логина:
require_once(ABSPATH . 'wp-includes/pluggable.php');
$user = wp_get_current_user();
if (empty($user) || empty($user->ID)) {
$this->errorCode = NO_USER_WAS_LOGGED_IN;
$this->errorMsg = 'No user was logged in';
} else {
wp_logout();
$this->response['message'] = $user->data->user_login . " logged out";
}
$this->showResponse();
Я не знаком с мобильной разработкой, поэтому я не знаю, как это он обрабатывает сеансы. Это может быть проблема? Или это может быть проблема с файлом cookie?
Еще одна странная вещь, если я назову метод поиска (просто верните сообщение и верните результаты в json), он работает в браузере, но когда она попыталась позвонить ему с телефона, она вернет это для некоторых причина:
<html>
<head>
<meta http-equiv="refresh" content="0; url=http://59.xxx.xxx.xxx" />
</head>
<body>
</body>
</html>
Да, я знаю, это кажется слишком общо, и без ее коды, это будет трудно, чтобы выяснить, что вызывает эту проблему, но, возможно, некоторые из вас также есть этот вопрос, и может помочь нам , Я думаю, что многие люди разработали такие приложения, что нужно для входа в систему, и не забудьте войти в систему.
Спасибо.
ОБНОВЛЕНИЕ: Это забавная вещь, и я никогда не встречался перед такой проблемой. Разработчик находится в Китае. Я проверил, что IP-адрес через браузер, и угадать, что: эта страница перенаправляет ее на этой странице:
http://59.151.88.32/index.php?source=unicomdns
что на самом деле мобильный провайдер, который блокирует ее просьбу о какой-то причине. Решение может быть прокси, или я не знаю, но теперь мы знаем, что это не моя проблема с обслуживанием, а не проблема с ее программами. Это проблема с шинами.