WP-API oAuth-серверный поток

Я немного озадачен потоком, который мне нужно использовать при попытке подключиться к удаленному WP-API WordPress с другого сервера (в данном случае другого экземпляра WP на том же сервере). Я использую пакет PECL oAuth, и большую часть кода я собрал из документации на https://secure.php.net/manual/en/class.oauth.php.

Это связано с сохранением WordPress, таким образом, так что каждый раз, когда кто-то сохраняет сообщение на САЙТЕ A, он пытается отправить некоторую информацию на САЙТ B:

add_action( 'save_post', 'CrossPollinate_Save',10,3);

Внутри CrossPollinate_Save это:

$client_key =               "....";
$client_secret =            "....";
$request_token_endpoint =   "http://..../oauth1/request";
$authorize_endpoint =       "http://..../oauth1/authorize";
$access_endpoint =          "http://..../oauth1/access";
$callback =                 $_SERVER['REQUEST_URI'];
$request_token =            ""; //populated later
$request_token_secret =     ""; //populated later//STEP 1
$oauth = new OAuth($client_key, $client_secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_AUTHORIZATION);
$request_token_info = $oauth->getRequestToken($request_token_endpoint);
if(!empty($request_token_info)) {
logToFile("Response from getRequestToken", $request_token_info);
} else {
logToFile("Failed fetching request token: ", $oauth->getLastResponse());
}

$request_token = $request_token_info["oauth_token"];
$request_token_secret = $request_token_info["oauth_token_secret"];

logToFile("request_token is: ", $request_token);
logToFile("request_token_secret is: ", $request_token_secret);

//STEP 2
$oauth->setToken($request_token, $request_token_secret);
$access_token_info = $oauth->getAccessToken($authorize_endpoint."?oauth_callback=".$callback);

if(!empty($access_token_info)) {
logToFile("Got access token! ", $access_token_info);
} else {
logToFile("Failed fetching access token: " . $oauth->getLastResponse());
}

Я получаю oauth_token и oauth_token_secret из «шага 1», отлично, эта часть работает! Когда запускается шаг 2, он возвращается с ответом, который содержит разметку для страницы входа. Как мне сказать oAuth пропустить этот шаг и просто отправить токен доступа обратно на страницу перенаправления?

2

Решение

Я не думаю, что есть способ обойтись полностью 3-х сторонним автором. В любом случае я не нашел ничего противоположного и только что согласился с тем, что мне придется делать перенаправление после получения начальных токенов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]