WordPress向けREST APIキー認証方式|安全なREST API
概要
WordPress の REST API キー認証には、 APIキー(ベアラートークン)の検証 WordPress の REST API にアクセスするには、API キー(ベアラートークン)が必要です。REST API エンドポイントへのアクセス要求が送信されるたびに、キー(ベアラートークン)を使用した認証が行われます。要求された WordPress の REST API エンドポイントのリソースへのアクセスは、API キー(ベアラートークン)の検証に基づいて許可されます。
記録のために言っておきますが、API キーは、次のように設計された認証プロトコルです。 開発者が認証キーを生成できるようにする サーバー側プロセス、携帯電話アプリケーション、デスクトップ コンピューターなどのリソースに使用できます。
WordPress の API キー認証方式は、WordPress 用 REST API のセキュリティを確保するための重要な手段です。API キーが漏洩した場合、再生成することで、以前に生成されたすべてのキーが自動的に期限切れになります。新しく生成されたキーは、WordPress の 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の設定は正常に完了します 新規追加.
- を検索 RESTAPI認証 WordPressのプラグインをクリックして 今すぐインストール.
- インストールしたら、をクリックします アクティブにしましょう.
ユースケース:ベアラーキー/トークンを使用してWordPressのREST APIエンドポイントへのアクセスを保護/セキュアにする
1. APIキー認証は、WordPressの投稿、ページ、その他のREST APIなど、WordPressのREST APIエンドポイントを保護する役割を果たし、不正アクセスから保護するとともに、認証のためにユーザーのWPログイン認証情報やクライアントID、クライアントシークレットを共有する必要性をなくします。このWordPress用APIキー生成ツールは、独自の認証キーを作成し、それを使用してウェブサイト上のさまざまなWordPress REST APIを認証できます。
WordPressでREST APIキー認証を利用することは、REST APIをAPIキー認証で強化する最も簡単で広く採用されている方法の一つです。この方法により、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 のユーザー権限を必要としない REST API の認証に最適です。
ご注意ください:このキーはユーザー権限とは関係なく、WordPressがユーザー権限を必要とするAPIへのアクセスには使用できません。「例:一般的なWordPressの投稿、コメントなどを取得するためにGET APIを使用したい場合」
II. ユーザー固有の API キー -ユーザーベースの API は、GET、POST、PUT、DELETE などの HTTP メソッドを含む 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 リクエストを行うと、そのユーザーは要求されたリソースにアクセスできなくなります。
注:ロールベースの制限機能は、基本認証(ユーザー名:パスワード)、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までメールでお問い合わせください。弊社のチームがお客様のご要望に最適なソリューション/プランの選択をお手伝いいたします。
