WordPress REST API (4.7) met Basic Authenticatie

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 10-04 15:54
Hi there,

Ik probeer via de nieuwe REST API, welke mee komt in WordPress 4.7, een post te plaatsen door middel van een API call naar m'n WordPress endpoint. Hiervoor gebruik ik een php scriptje die een curl uitvoert met daar in een Basic Authenticatie header. Default hanteert de WordPress API authenticatie d.m.v. cookie, wat inhoudt dat de API post requests alleen uitvoert als de gebruiker daadwerkelijk is ingelogd in de backend. Dat zou met Basic Authenticatie niet het geval moeten zijn. Echter, dat lijkt niet te werken.

Als ik op de WordPress Backend ben ingelogd dan werkt de API call wel, maar als ik ben uitgelogd werkt het niet :-(.

Iemand ervaring met de nieuwe WordPress REST API die me hiermee op weg kan helpen?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function postToWordPress($siteNr, $postTitle, $postContent, $postAuthor){

global $postLoginUsername, $postLoginPassword, $additionalHeaders;

$payload['siteNr'] =    $siteNr;
$payload['endpoint'] = 'https://martinvdijk.nl/wp-json/wp/v2/posts/';
$payload['title'] = $postTitle;
$payload['content'] = $postContent;
$payload['author'] = $postAuthor;

$process = curl_init('https://martinvdijk.nl/wp-json/wp/v2/posts/');
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data', $additionalHeaders));
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, $postLoginUsername . ":" . $postLoginPassword);
curl_setopt($process, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, $payload);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);
$info = curl_getinfo($process);
curl_close($process);

return print_r($return);

}

Alle reacties


Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 08-09 14:12
(jarig!)
Heb je de Basic Auth-plugin ook geïnstalleerd? Standaard werkt Basic Auth namelijk niet. Zie ook de officiële documentatie

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 10-04 15:54
Spinal schreef op woensdag 4 januari 2017 @ 10:10:
Heb je de Basic Auth-plugin ook geïnstalleerd? Standaard werkt Basic Auth namelijk niet. Zie ook de officiële documentatie
Yes, die heb ik inderdaad geïnstalleerd. Zonder die plug-in doet 'ie inderdaad helemaal niets met Basic authenticatie :-)

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 11:07

TheNephilim

Wtfuzzle

Krijg je een foutmelding... of...? Probeer te defineren wat er precies niet werkt.