{"id":1766,"date":"2025-01-27T11:46:58","date_gmt":"2025-01-27T10:46:58","guid":{"rendered":"https:\/\/abchaus.synology.me\/wordpress\/?p=1766"},"modified":"2025-01-27T13:08:25","modified_gmt":"2025-01-27T12:08:25","slug":"rest-api-fuer-wordpress","status":"publish","type":"post","link":"https:\/\/abchaus.synology.me\/wordpress\/blog\/2025\/01\/27\/rest-api-fuer-wordpress\/","title":{"rendered":"REST API f\u00fcr WordPress"},"content":{"rendered":"<p>Bisher haben alle externen Programme die xmlrpc Schnittstelle von wordpress genutzt. Die ist aber nun auch offiziell abgek\u00fcndigt und viele Provider unterbinden den Zugriff darauf. Das ist f\u00fcr Nutzer_innen von LiveWriter bl\u00f6d, weil der darauf setzt.<\/p>\n<p>Laut wordpress soll man die REST-Schnittstelle verwenden. Da haben auch wieder viele Sicherheitsbedenken und da hat sich auch wordpress nicht mit Ruhm bekleckert. Erst sp\u00e4t haben sie halbherzig API-Pa\u00dfworte eingef\u00fchrt, die aber auch nur auf basic-auth laufen. Die meisten Provider sind aber b\u00f6se und drehen den Authentifizierungsheader ab. Das geht, weil wordpress die Anmeldung selbst umsetzt und dann nur mehr \u00fcber session cookies arbeitet.<\/p>\n<p>Zur gro\u00dfen \u00dcberraschung ist auch hosttech so dumm und dreht das einfach mal ab. Den support gefragt und die meinen, da gibt es keine L\u00f6sung, man soll sich gleich einen vServer nehmen und das selbst hosten. Kostet halt nur das x-fache.<\/p>\n<p>Oder man geht die Anleitungen f\u00fcr das offizielle JWT Plugin von wordpress durch und bemerkt, man kann &#8211; so man Zugriff hat &#8211; mit .htaccess Eintr\u00e4gen nachhelfen. Und siehe da, die folgenden Zeilen in ein .htaccess eingetragen wirken Wunder:<\/p>\n<pre>RewriteEngine on\r\nRewriteCond %{HTTP:Authorization} ^(.*)\r\nRewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]\r\nSetEnvIf Authorization \"(.*)\" HTTP_AUTHORIZATION=$1<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Bisher haben alle externen Programme die xmlrpc Schnittstelle von wordpress genutzt. Die ist aber nun auch offiziell abgek\u00fcndigt und viele<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1766","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/comments?post=1766"}],"version-history":[{"count":2,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1766\/revisions"}],"predecessor-version":[{"id":1768,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1766\/revisions\/1768"}],"wp:attachment":[{"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=1766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=1766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abchaus.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=1766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}