WordPress REST API キーの認証方法 | セキュアなREST API
概要
WordPress REST API キー認証には以下が含まれます APIキー(ベアラートークン)の検証 WP REST API にアクセスします。WP REST API エンドポイントへのアクセス要求が開始されるたびに、キー (ベアラー トークン) を使用した認証が必要です。要求された WordPress REST API エンドポイントのリソースへのアクセスは、API キー (ベアラー トークン) の検証に基づいて許可されます。
記録のために言っておきますが、API キーは、次のように設計された認証プロトコルです。 開発者が認証キーを生成できるようにする サーバー側プロセス、携帯電話アプリケーション、デスクトップ コンピューターなどのリソースに使用できます。
WordPress API キー認証方法は、WordPress REST API のセキュリティを確保するための重要な手段です。API キーが侵害された場合、再生成され、以前に生成されたすべてのキーが自動的に期限切れになります。新しく作成されたキーは、WP API キー認証に使用されます。REST API のセキュリティを確保しないと、権限のない個人がシステムにアクセスしてデータ侵害につながる可能性があるため、重大なセキュリティ リスクが生じる可能性があります。
このガイドでは、詳細なステップバイステップのプロセスを説明します。 WordPress REST API 認証のインストールと設定 REST API のセキュリティを強化します。
WordPress REST API 認証

WordPress REST API 認証プラグインは、WordPress REST API への不正アクセスからセキュリティを提供します。このプラグインは、基本認証、API キー認証、OAuth 2.0 認証、JWT 認証など、複数の認証方法を提供します。
詳細を見る前提条件: ダウンロードとインストール
- WordPress インスタンスに管理者としてログインします。
- WordPress に移動します ダッシュボード -> プラグイン をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します 新規追加.
- WordPress を検索する RESTAPI認証 プラグインを選択してクリックします 今すぐインストール.
- インストールしたら、をクリックします アクティブにしましょう.
ユースケース: ベアラーキー/トークンによる WordPress REST API エンドポイント アクセスの保護/セキュリティ保護

1. API キー認証は、投稿、ページ、または WordPress のその他の REST API などの WordPress REST API エンドポイントの保護手段として機能し、不正アクセスから保護し、認証のためにユーザーの WP ログイン資格情報やクライアント ID とクライアント シークレットを共有する必要性を排除します。この WordPress API キー ジェネレーター アプローチは、Web サイト上のさまざまな WordPress REST API を認証するために使用できる一意の認証キーを作成します。
WordPress REST API キー認証を利用することは、API キー認証を使用して WP REST API を強化するための最も簡単で広く採用されているアプローチの 1 つです。このアプローチにより、WordPress ウェブサイト上の REST API のセキュリティが強化されます。
2. Android および iOS 用のブログ アプリケーションを開発し、すべてのブログを WordPress で公開したとします。ただし、投稿やブログを WordPress REST API から取得しながら、一般公開しないようにしたいとします。このような場合、GET リクエストを保護してエンドポイントのセキュリティを確保するために、WordPress REST API キー認証を実装することをお勧めします。
このプラグインは、WordPress REST APIの認証に使用できる2種類のAPIキー/セキュリティトークンを提供します。
I. ユニバーサル API キー - ユニバーサル API キーは、HTTP GET メソッドを使用し、WordPress ユーザーの機能を必要としない WP REST API の認証に最適です。
※ このキーはユーザー機能には関係しないため、WordPress がユーザー権限を必要とする API にアクセスするために使用することはできません。 "例 - GET API を使用して、一般的な WordPress の投稿やコメントなどを取得するだけの場合。」
II. ユーザー固有の API キー - ユーザーベースの API は、GET、POST、PUT、DELETE などの HTTP メソッドを含む WP REST API を認証するのに最も適しており、特にユーザーの機能に関わる操作を実行する場合に適します。
例- ユーザーの機能 (WP ロール) やユーザー データに基づいて WordPress の投稿を取得するなどの操作を実行したり、新しいユーザーや新しい投稿などを作成したりする場合。
次の REST API 認証方法の使用例をお読みください。
WordPress API認証プラグインの設定 【プレミアム】
- プラグインで、に移動します 「API 認証の構成」タブ をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します APIキー認証 API 認証方法として。
- 設定を保存したら、 ユニバーサルAPIキーセクション 新しいトークンを生成するオプションが表示されますので、クリックしてください 新しいキーの生成 ボタンをクリックしてください。新しいキー/トークンを生成すると、このキー/トークンは期限切れになります。
- API キー (トークン) を生成すると、それを使用して WordPress REST API エンドポイントを保護できます。(新しい API キーはいつでも生成できます。生成された既存のキーはすべて自動的に期限切れになります)。
- 以下の手順に示すように、WP サイトへの REST API リクエストを実行するときに、API キーをベアラー トークンとして Authorization ヘッダーに渡す必要があります。
- このトークンを持つユーザーは、以下に示すように REST API にアクセスできます。

Request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:Authorization: Bearer <token>
Sample request: GET https://<domain-name>/wp-json/wp/v2/posts
Header:Authorization: Bearer kGUfhhzXZuWisofgnkAsuHGDyfw7gfhg5s
Sample curl Request Format-
curl -H "Authorization:Bearer <token-value>"
-X GET http://<wp_base_url>/wp-json/wp/v2/posts
-H 'app-name:TheAppName'
I. Authorization :
HTTPは Authorization リクエストヘッダーには通常、ユーザーエージェントの認証情報またはトークンタイプとトークン値が含まれており、サーバーでユーザーエージェントを認証する手段として機能します。これは通常、認証の試行が失敗した後に発生し、サーバーはステータスを返します。 401 権限がありません.
II. Bearer <token-value>:
この
ベアラー 認証サーバーによって作成されます。クライアント アプリケーションが認証サーバーに要求すると、サーバーはそのトークンを認証し、それに応じてクライアント アプリケーションに応答を返します。
プログラミング言語のコードサンプル
var client = new RestClient("http://<wp_base_url>/wp-json/wp/v2/posts ");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token-value>");
request.AddHeader = ("app-name", "TheAppName");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
.url("http://<wp_base_url>/wp-json/wp/v2/posts ")
.method("GET", null)
.addHeader = ("Authorization", "Bearer <token-value>");
.addHeader = ("app-name", "TheAppName");
.build();
Response responseclient.newCall(request).execute();
var settings = {
"url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
"method": "GET",
"timeout": 0,
"headers": {
"Authorization": "Bearer < access_token / id_token >",
"app-name": "TheAppName"
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
<?php
$curl = curl_init();
curl_setopt_array($curl, array
(
CURLOPT_URL => 'http://%3Cwp_base_url%3E/wp-json/wp/v2/posts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer <token-value>'
'app-name: TheAppName'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
conn = http.client.HTTPSConnection("<wp_base_url>")
payload= "
headers = {
'Authorization': 'Bearer <token-value>'
'app-name': 'TheAppName',
}
conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
res= conn.getresponse()
data = res.read()
print (data.decode("utf-8"))
郵便配達員のサンプル:
- POSTMAN コレクションのエクスポートをダウンロードします。 こちら.
- 以下に示すように、ダウンロードした JSON ファイルを Postman アプリケーションにインポートします。
- JSON ファイルをインポートしたら、 REST APIリクエスト 下 コレクション 最後の図に示すように、 Wordpress ドメインを使用して、 http://<wp_base_url>/wp-json/wp/v2/posts APIを置き換えます プラグインで生成されたトークン値をヘッダーに含めます。
- サブスクリプション型フィットネスアプリでは、
Postman を使用して REST API リクエストを作成するには、次の手順に従います。


機能説明
1. ロールベースの REST API の制限:
この機能により、ユーザー ロールに応じて REST API アクセスを制限できます。REST API を介して要求されたリソースへのアクセスを許可するロールを指定するオプションがあります。したがって、ユーザーが REST API 要求を開始すると、そのロールが取得され、そのロールがホワイトリストに含まれている場合にのみリソースへのアクセスが許可されます。
それを構成する方法は?
- まず、プラグインの「詳細設定」タブに移動します。
- ロールベースの制限セクションでは、最初はすべてのロールに API へのアクセスがデフォルトで許可されます。ただし、制限するロールの横にあるチェックボックスをオンにすることで、アクセスを選択的に制限できます。
- 上記のスクリーンショットでは、サブスクライバー ロールのチェックボックスが有効になっています。そのため、サブスクライバー ロールを持つユーザーが API リクエストを行うと、そのユーザーは要求されたリソースにアクセスできなくなります。

Note: ロールベースの制限機能は、Basic 認証 (ユーザー名: パスワード)、JWT 方式、OAuth 2.0 (パスワード付与)、API キー認証 (ユーザー固有の API キー) に有効です。
2. カスタムヘッダー
この機能では、デフォルトの「Authorization」ヘッダーではなくカスタム ヘッダーを選択するオプションが提供されます。これにより、カスタム名のヘッダーが導入され、セキュリティが強化されます。個人が「Authorization」ヘッダーを含む REST API リクエストを送信しようとすると、API にアクセスできなくなります。
それを構成する方法は?
- まず、プラグインの「詳細設定」タブに移動します。
- その後、 「カスタムヘッダー」 セクションでは、テキスト ボックスを編集して、必要なカスタム名を入力できます。

3. REST APIを除外する
この機能を使用すると、REST API のホワイトリストを作成し、認証なしで直接アクセスできるようになります。その結果、このホワイトリストに含まれるすべての REST API がパブリックにアクセス可能になります。
それを構成する方法は?
- まず、プラグインの「詳細設定」タブに移動します。
- 次に、「REST API を除外」で、パブリック アクセス用にホワイトリストに登録する必要がある規定の形式で API を入力できます。
- サブスクリプション型フィットネスアプリでは、 REST API '/wp-json/wp/v2/posts' を除外したい場合は、テキストボックスに '/wp/v2/posts' と入力する必要があります。

4. ユーザー固有のAPIキー/トークンを作成する
- この機能は API キー メソッド内で利用可能であり、ユニバーサル キーであるランダムに生成されたトークンではなく、ユーザー固有の情報に基づいてトークンを生成できます。
- ユニバーサル API キー/トークンを使用する場合、POST、PUT、DELETE などのリクエスト メソッドを使用して特定の WordPress REST API にアクセスするために必要な権限がユーザーにない場合があります。これらの API には、ユーザー、投稿、ページなどの作成などのアクションが含まれており、操作には特定のユーザー権限またはロールが必要です。ユニバーサル キーはランダムに生成され、ユーザー固有の詳細が含まれていないため、制限が発生します。
- ユーザーベースの API キー/トークン機能により、ユーザーは、機能のためにユーザー資格情報または特定のロールを必要とする POST、PUT、DELETE などのリクエスト メソッドを使用して WordPress REST API を利用できるようになります。ユーザーベースのキーを使用して WordPress REST API リクエストが実行されると、システムはユーザーの役割を取得し、ユーザーが必要な権限を持っている場合にのみアクセスを許可します。
- 例: 管理者および編集者の役割を持つユーザーのみが投稿を作成/編集/削除する権限を持ちます。
- したがって、この API に投稿の作成/削除/編集のリクエストが行われた場合、API 応答は「この操作を実行することは許可されていません」という結果になります。
- これで、管理者または編集者のロールを持つユーザー用に生成されたユーザーベースのトークンを使用してリクエストが行われた場合、そのユーザーだけがこの API にアクセスし、API 呼び出しを介して操作 (作成/更新/削除) できるようになります。
- ドロップダウンからユーザーを選択し、 APIキーを作成
- 画面にポップアップが表示されるので、クリックするだけです。 OK トークンをコピーするためのボタン。
- これで、ユニバーサル キーが API リクエストに使用されるのと同じように、このトークンを API リクエストで使用できるようになります。
この機能の使用方法:


おめでとうございます! このガイドを使用して、WordPress REST API キー認証を正常に構成しました。これで、WordPress REST API エンドポイントは安全になり、データは不正アクセスから保護されます。
関連記事
プラグインのデモをリクエストする
フル機能のトライアル版を入手
ご返信ありがとうございます。すぐにご返信させていただきます。
何か問題が発生しました。 もう一度質問を送信してください

お困りですか?
メールでお問い合わせください apisupport@xecurify.com お客様の要件に関する迅速なガイダンス(電子メール/会議経由)が必要です。当社のチームは、お客様の要件に応じて最適なソリューション/プランの選択をお手伝いします。