Wordpressの残りのAPIを使用しています。認証には、基本認証プラグインを使用します( JSON Basic Authentication )
私はこのリクエストを使用します(postmanとnodejsの両方から):
POST /wp-json/wp/v2/posts HTTP/1.1
Host: **************
Authorization: Basic *********************
Content-Type: application/json
Cache-Control: no-cache
{ "title": "test", "content": "test", "status": "private", "excerpt": "test" }
サーバーでローカルにテストする場合、正常に動作しますが、VPSでは次のエラーが表示されます。
{
"code": "rest_cannot_create",
"message": "Sorry, you are not allowed to create posts as this user",
"data": {
"status": 401
}
}
ユーザー資格情報が正しいことと、ユーザーが投稿を作成できることを知っています。
Rest-apiに到達する前に、authヘッダーがどこかで失われていると思われます。しかし、どこからデバッグを始めるべきですか?どのログ?
Authorization
ヘッダーは通常、Apacheによって除去されます。
.htaccess
で修正できます
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
すでにすべてを試したが、Wordpress Rest APIを介してリソースを作成できないためにここにいる場合は、私に合った機能を共有させてください。
まず、ここでコンテキストを説明します。Bitnamiを使用してAWSインスタンスでWordPressを起動しました。
次に、WooCommerceをインストールし、サンドボックスシステムとして使用するためにAPIを有効にしました。その後すぐに、Postmanを使用して製品を作成しようとしましたが、「woocommerce_rest_cannot_create
」(「Sorry, you are not allowed to create resources.
」)などのエラーが発生するたびに作成しました。 OAuth
やBasic Auth
などのさまざまな認証方法を試しましたが、いずれも機能しませんでした。
そのため、(Woocommerceのエンドポイントではなく)WordPress APIエンドポイントを試して、投稿またはユーザーを作成できるかどうかを確認する必要があると考えましたが、どちらも機能しませんでした。次のようなエラーが発生しました:
rest_cannot_create
"("Sorry, you are not allowed to create posts as this user."
)rest_cannot_create_user
"( "Sorry, you are not allowed to create new users
")ここに私のために働いたものがあります:
/opt/bitnami/apps/wordpress/htdocs/wp-content/plugins
に複製してインストールし、WP Adminページのプラグインページからアクティブ化できます。または、リポジトリをZipとしてダウンロードし、WP Adminのプラグインページのファイルからインストールすることもできます。.htaccess
で使用可能な/opt/bitnami/apps/wordpress/htdocs
ファイルを編集します(このファイルは非表示になっています。表示されない場合でも大丈夫です)RewriteEngine On
の下に新しい行を追加し、RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
を挿入して保存して終了します/opt/bitnami/apps/wordpress/conf/httpd-app.conf
RewriteEngine On
の後に新しい行を追加しますRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
保存して終了Sudo /opt/bitnami/ctlscript.sh restart Apache
その後、Postmanから再試行しましたが、すべてが問題なく動作しました。
詳細を確認するには: https://community.bitnami.com/t/setting-up-api-access-to-wordpress-on-aws-ec2-instance/60589/7