WordPress REST API JWT 認証方法
概要
この WordPress REST API エンドポイント認証方法では、JWT (JSON Web Token) に基づく検証で REST API アクセスを行います。WordPress REST API エンドポイントへのアクセス要求が行われるたびに、その JWT トークンに対して認証が行われ、その JWT トークンの検証に基づいて、その API 要求のリソースへのアクセスが許可されます。JWT トークンは WordPress ユーザーの資格情報に基づいて生成され、高度に暗号化されているため、セキュリティが侵害されることはありません。
WordPress REST API 認証

WordPress REST API 認証プラグインは、WordPress REST API への不正アクセスからセキュリティを提供します。このプラグインは、基本認証、API キー認証、OAuth 2.0 認証、JWT 認証など、複数の認証方法を提供します。
詳細を見る前提条件: ダウンロードとインストール
- WordPress インスタンスに管理者としてログインします。
- WordPress に移動します ダッシュボード -> プラグイン をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します 新規追加.
- WordPress を検索する RESTAPI認証 プラグインを選択してクリックします 今すぐインストール.
- インストールしたら、をクリックします アクティブにしましょう.
ユースケース: JWT (JSON Web Token) を使用して WordPress REST API エンドポイントを保護または認証します。
-
モバイル/Web アプリケーションがあり、ユーザー機能に基づいて WordPress REST API エンドポイントへのアクセスを許可し、特定の機能を持つユーザーのみが作成/更新操作を実行でき、他のロールのユーザーはそれを表示することしかできないようにするとします。このような場合、ユーザー資格情報に従って取得された JWT (JSON Web トークン) を使用して REST API エンドポイントを認証できます。WordPress JWT 認証を使用すると、これを非常に安全に行うことができます。したがって、この JWT を Authorization ヘッダーに渡して REST API リクエストを行うと、リソース/データにアクセスしたり、特定のユーザー機能を必要とする WordPress 操作を実行する機能/承認を提供したりできます。WordPress REST API の JWT 認証では、HSA または RSA の 2 つの方法を使用してトークンを暗号化し、限られた時間のみ有効です。したがって、セキュリティは問題になりません。
JWT 認証用に生成された JWT トークンは WordPress ユーザー情報で構成されているため、このトークンは別のアプリケーションの有効な秘密鍵/公開証明書を使用してデコードし、そこでユーザーを作成したり、更新されたユーザー情報を同期したりできます。JWT トークンは時間ベースのトークンでもあるため、要件に応じて設定できる一定の期間が経過すると期限切れになります。期限が切れると、API はアクセスできなくなり、ユーザー情報もデコードできなくなります。そのため、WordPress REST API の JWT 認証は安全な認証方法になります。
- JWT メソッドを使用して実現できる WordPress REST API 認証のフローを以下に説明します。

1. WordPress REST API リクエストは、JWT トークンを取得するために必要なすべてのパラメータを使用して行われます。取得された JWT トークンは、HSA または RSA アルゴリズムを使用して暗号化された形式で提供されるため、最大限のセキュリティが確保されます。
2. 次に、リソース/データにアクセスしたり、WordPress データベースで操作を実行したりするための実際の WordPress REST API リクエストが、最後の手順で取得した JWT トークンを使用して作成され、トークン タイプが Bearer として Authorization ヘッダーに渡されます。プラグインはその JWT トークンを検証し、検証または認証が成功した場合は、API 要求者にリソースが提供され、そうでない場合はエラー応答が返されます。したがって、プラグインは JWT トークン プロバイダーと JWT トークン バリデーターの両方として機能します。
関連する使用例:
- WordPress REST API エンドポイントに対して JWT 認証されたリクエストを行うにはどうすればよいですか?
- JWT (JSON Web Token) を使用した Woocommerce/WordPress REST API の認証。
次の REST API 認証方法の使用例をお読みください。
REST API JWT認証方法の設定
- Free
- ここでは、XNUMX つの API 呼び出しを行う必要があります。
I : JWT トークンを取得する
- JWT トークンを取得するには、以下のようにトークン エンドポイントに対して REST API 呼び出しを行う必要があります。
Request:POST https://<domain-name>/wp-json/api/v1/token
Body:username = <wordpress username>
password = <wordpress password>
Sample curl Request Format-
curl -d "username=<wordpress_username>&password=<wordpress_password>"
-X POST http://<wp_base_url>/wp-json/api/v1/token
この API エンドポイントは次のように呼ばれます。 ユーザ認証 APIまたは WordPress ログイン API エンドポイント つまり、WordPress ユーザーの資格情報を使用してこのエンドポイントにリクエストを送信し、資格情報が有効な場合は、JWT トークンを含む成功応答が返され、そうでない場合は、それに応じてエラー応答が表示されます。
II : API リクエストの送信
- JWT トークンを取得したら、以下に示すように、それを使用して WordPress REST API へのアクセスをリクエストできます。
Request: GET https://<domain-name>/wp-json/wp/v2/posts
Header: Authorization : Bearer <JWT token>
Sample curl Request Format-
curl -H "Authorization:Bearer <jwt_token >"
-X GET http://<wp_base_url>/wp-json/wp/v2/posts
- 注: 上記のトークンはデフォルトで 1 時間有効ですが、カスタマイズすることもできます。トークンの有効期限が切れると、再度生成できます。
- チェックアウトします 開発者のドキュメント のガイドをご参照ください。
- チェックアウトします エラー応答 JWTトークンを使ったAPIを作成するためのものです。
おめでとうございます! miniOrange WordPress REST API 認証方法を使用して、REST API 呼び出しの JWT 認証方法を正常に構成しました。
プログラミング言語のコードサンプル
- リソースリクエスト
- トークンリクエスト
郵便配達員のサンプル:
- セットアップボタンをクリックすると、セットアップが開始されます 郵便配達員のサンプル プラグインのタブ。
- A JSONファイル 自動ダウンロードされます。
- ダウンロードしたものをインポートする JSONファイル 以下に示すように、Postman アプリケーションに入力します。
- json ファイルをインポートしたら、以下の REST API リクエストをクリックします。 コレクション 最後の図に示すように、 Wordpress ドメインを使用して、 http://<wp_base_url>/wp-json/wp/v2/posts そして、 WordPress ユーザー名と 本体パラメータに WordPress パスワードを含めます。
- 例
- 注: レスポンスから取得した jwt トークンをコピーします。これは、リソース API リクエストで認証に使用されます。
- json ファイルをインポートしたら、以下の REST API リクエストをクリックします。 コレクション 最後の図に示すように、 Wordpress ドメインを使用して、 http://<wp_base_url>/wp-json/wp/v2/posts そして、 トークン要求の後に取得した応答からコピーされた jwt トークンを使用します。
- 例
Postman を使用して REST API リクエストを作成するには、次の手順に従います。


a) JWTトークンを取得するためのREST APIリクエスト


b) 実際のリソースを取得するためのREST APIリクエスト


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

Note: ロールベースの制限機能は、Basic 認証 (ユーザー名: パスワード)、JWT 方式、OAuth 2.0 (パスワード付与) に有効です。
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. カスタムトークンの有効期限:
この機能は、時間ベースのトークンを使用して WordPress REST API エンドポイントを認証する JWT および OAuth 2.0 メソッドに適用できます。この機能を使用すると、トークンの有効期限をカスタム設定して、トークンの有効期限が切れるとトークンが無効になるようにすることができます。
- まず、プラグインの「詳細設定」タブに移動します。
- 次に、「トークン有効期限設定」セクションで、アクセス トークンの有効期間とリフレッシュ トークン (OAuth 2.0 メソッドで使用) を変更できます。デフォルトでは、アクセス トークンの有効期限は 60 分に設定され、リフレッシュ トークンの有効期限は 14 日に設定されています。したがって、この機能を使用すると、要件に応じて有効期限を調整できます。

5. JWTベースのトークンの署名検証:
この機能により、JWT トークンの JWT 署名の安全な署名が可能になり、JWT トークンのセキュリティがさらに強化され、署名はクライアント シークレット/証明書を使用してのみデコードできるようになります。つまり、署名は非公開であり、他の人には見えません。

当社は HS2 と RS256 の 256 つの署名アルゴリズムをサポートしています。したがって、上記の画像に示すように、ドロップダウンから任意の署名アルゴリズムを選択できます。
また、JWT の署名に使用されるクライアント シークレットまたは証明書を追加する必要があります。
関連記事
プラグインのデモをリクエストする
フル機能のトライアル版を入手
ご返信ありがとうございます。すぐにご返信させていただきます。
何か問題が発生しました。 もう一度質問を送信してください

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