基本認証を使用した WordPress REST API のセキュリティ保護ガイド
概要
REST APIのWordPress基本認証は、WordPressエンドポイントへのアクセスを安全に保つ方法を提供します。ユーザー名とパスワードまたはクライアント資格情報から生成されたトークンを使用して、API リクエストを検証します。この認証方法は、Web サービスと対話するときに ID を検証し、承認されたユーザーのみが API にアクセスできるようにします。
REST API を保護するために WordPress で Basic Auth プラグインを実装する方法
WordPress REST APIを使用する場合、サイトと安全にやり取りするためにBasic認証を使用する必要があるかもしれません。Basic認証は、HTTPプロトコルに組み込まれたシンプルな認証スキームです。各リクエストでbase64でエンコードされた認証情報(ユーザー名/メールアドレスとパスワード)を送信します。
WordPress REST API 認証

WordPress REST API 認証プラグインは、WordPress REST API への不正アクセスからセキュリティを提供します。このプラグインは、基本認証、API キー認証、OAuth 2.0 認証、JWT 認証など、複数の認証方法を提供します。
詳細を見るWP API の基本認証の設定
WP API Basic Auth を使い始めるには、WordPress REST API 認証プラグインをインストールする必要があります。このプラグインにより、REST API が Basic 認証資格情報を受け入れるようになります。手順は次のとおりです。
- WordPress REST API 認証プラグインをインストールします。 WordPress プラグイン リポジトリから miniOrange の WordPress REST API 認証プラグインを検索してインストールします。このプラグインにより、サイトで REST API 基本認証が有効になります。
- プラグインをアクティブ化します。 インストール後、WordPress ダッシュボードからプラグインを有効にします。
- 認証を構成する: 基本認証を設定するには、以下の手順に従ってください。
ユースケース: 基本認証による WordPress REST API エンドポイントのセキュリティ強化
1. WordPress REST API との安全なやり取りにユーザー名とパスワードを使用する
ユーザーが独自のフィードやブログを投稿できる Android または iOS アプリを開発している場合、WordPress との安全で認証されたやり取りを確保することが重要です。
ユーザー認証を安全に管理する方法は次のとおりです。
- WordPress 基本認証を使用する: ユーザーのユーザー名とパスワードを使用して WordPress 基本認証 REST API を実装します。この方法により、アプリを通じて行われたリクエストが安全に認証されることが保証されます。
- ユーザーリクエストを認証する: ユーザーがアプリにログインすると、セッションが作成されます。ユーザーの資格情報は、Basic Authorization ヘッダー内で暗号化された形式で送信されます。
- 権限の管理: REST API は、ユーザーの WordPress 権限に基づいて、ユーザーが実行できるアクションとアクセスできるコンテンツを決定します。これにより、ユーザーの機能を制御し、WordPress サイトとの安全なやり取りを維持できます。
ユーザー資格情報を使用した WordPress 基本認証を使用すると、各ユーザーのアクションが適切に認証および承認され、ユーザーが生成したコンテンツに安全な環境を提供できます。

2. WordPress REST API との安全なやり取りにクライアント認証情報を使用する
Android または iOS アプリがあり、REST API を介して WordPress コンテンツとやり取りする必要がある場合は、サイトを不正アクセスから保護することが不可欠です。リスクを伴う可能性がある WordPress ユーザー認証情報を直接使用する代わりに、クライアント認証情報を使用した WordPress 基本認証を選択する必要があります。
クライアント資格情報を安全に使用する方法は次のとおりです。
- クライアントIDとクライアントシークレットを取得します。 WordPress ユーザーの資格情報を公開する代わりに、アプリのクライアント ID とクライアント シークレットを生成します。
- 安全なリクエストを送信: API リクエストを行うときは、クライアント ID とクライアント シークレットを含めます。これらの資格情報は、Basic Authorization ヘッダー内で暗号化された形式で送信されます。
- 検証とアクセス: WordPress REST API はリクエストを受信すると、資格情報を検証します。検証が成功すると、サイトのセキュリティを維持しながら、必要な API エンドポイントにアクセスできるようになります。
クライアント資格情報を使用すると、アプリが WordPress サイトと効率的にやり取りできるようにしながら、WordPress ユーザー情報が保護された状態を維持できます。

構成手順
- Free
- プレミアムサーマルバッグ
プログラミング言語のコードサンプル
- ユーザー名パスワード
- クライアント認証情報
郵便配達員のサンプル:
- セットアップボタンをクリックすると、セットアップが開始されます 郵便配達員のサンプル プラグインのタブ。
- 次に、Basic Authentication Postman Samples カードの上にマウスを置きます。
- ダウンロードしたものをインポートする JSONファイル 以下に示すように、Postman アプリケーションに入力します。
- jsonファイルをインポートしたら、最後の図に示すように、コレクションの下のREST APIリクエストをクリックします。 Wordpress ドメインを使用して、 http://<wp_base_url>/wp-json/wp/v2/posts そして、 Base64エンコード ヘッダーにはベースエンコードされた値が含まれます。
- ダウンロードしたものをインポートする JSONファイル 以下に示すように、Postman アプリケーションに入力します。
- jsonファイルをインポートしたら、最後の図に示すように、コレクションの下のREST APIリクエストをクリックします。 Wordpress ドメインを使用して、 http://<wp_base_url>/wp-json/wp/v2/posts そして、 Base64エンコード ヘッダーにはベースエンコードされた値が含まれます。
Postman を使用して REST API リクエストを作成するには、次の手順に従います。



例:
ユーザー名: testuser、パスワード: password@123 の場合、base64 でエンコードされた値は 'dGVzdHVzZXI6cGFzc3dvcmRAMTIz' になります。




機能説明
1. ロールベースの REST API の制限:
この機能を使用すると、ユーザー ロールに応じて REST API アクセスを制限できます。REST API を介して要求されたリソースへのアクセスが許可されるロールを指定することができます。その結果、ユーザーが REST API 要求を行うと、そのロールがチェックされ、そのロールがホワイトリストに含まれている場合にのみリソースへのアクセスが許可されます。
それを構成する方法は?
- まず、プラグインに移動します '高度な設定' タブには何も表示されないことに注意してください。
- そして、 役割ベースの制限 セクションでは、デフォルトですべてのロールが API にアクセスできるようになります。アクセスを制限するロールのチェックボックスを有効にすることができます。
- 上記の画像では、サブスクライバー ロールのチェックボックスが有効になっています。そのため、サブスクライバー ロールを持つユーザーが API リクエストを行うたびに、そのユーザーは要求されたリソースにアクセスできなくなります。

ご注意: ロールベースの制限機能は、Basic 認証 (ユーザー名: パスワード)、JWT 方式、OAuth 2.0 (パスワード付与) に有効です。
2. カスタムヘッダー:
この機能は、デフォルトのヘッダーの代わりにパーソナライズされたヘッダーを選択する機能を提供します。 「認可」 ヘッダー。これにより、カスタム設定に従ってヘッダーに名前を付けることができるため、セキュリティが強化されます。したがって、誰かがヘッダー名を付けたREST APIリクエストを送信しようとした場合、 「認可、' API へのアクセスが許可されます。
それを構成する方法は?
- まず、プラグインに移動します '高度な設定' タブには何も表示されないことに注意してください。
- その後、 「カスタムヘッダー」 セクションでは、テキスト ボックスを編集して、必要なカスタム名を入力できます。

3. REST API を除外します。
この機能を使用すると、特定の REST API をホワイトリストとして指定し、認証を必要とせずに直接アクセスできるようになります。その結果、ホワイトリストに登録されたすべての REST API がパブリックにアクセス可能になります。
それを構成する方法は?
- まず、プラグインに移動します '高度な設定' タブには何も表示されないことに注意してください。
- その後、 「REST APIを除外する」、パブリックアクセスのためにホワイトリストに登録する必要がある規定の形式で API を入力できます。
-
例: REST API を除外するとします。
「/wp-json/wp/v2/posts」の場合は、テキストボックスに「/wp/v2/posts」と入力する必要があります。

4. HMAC を使用してトークンの高度な暗号化を有効にします。
この機能は基本認証方式で提供されており、トークンは通常、デフォルトで Base64 エンコードを使用して暗号化されます。ただし、詳細オプションを使用すると、非常に安全な HMAC 暗号化方式を使用してトークンを暗号化できるため、非常に高いレベルのセキュリティが保証されます。
- まず、プラグインに移動します '高度な設定' タブには何も表示されないことに注意してください。
- そして、 役割ベースの制限 セクションでは、デフォルトですべてのロールが API にアクセスできるようになります。アクセスを制限するロールのチェックボックスを有効にすることができます。
- 上記の画像では、サブスクライバー ロールのチェックボックスが有効になっています。そのため、サブスクライバー ロールを持つユーザーが API リクエストを行うたびに、そのユーザーは要求されたリソースにアクセスできなくなります。
- まず、プラグインに移動します '高度な設定' タブには何も表示されないことに注意してください。
- その後、 「カスタムヘッダー」 セクションでは、テキスト ボックスを編集して、必要なカスタム名を入力できます。
- まず、プラグインに移動します '高度な設定' タブには何も表示されないことに注意してください。
- その後、 「REST APIを除外する」、パブリックアクセスのためにホワイトリストに登録する必要がある規定の形式で API を入力できます。
-
例: REST API を除外するとします。
「/wp-json/wp/v2/posts」の場合は、テキストボックスに「/wp/v2/posts」と入力する必要があります。
1. ロールベースの REST API の制限:
この機能を使用すると、ユーザー ロールに応じて REST API アクセスを制限できます。REST API を介して要求されたリソースへのアクセスが許可されるロールを指定することができます。その結果、ユーザーが REST API 要求を行うと、そのロールがチェックされ、そのロールがホワイトリストに含まれている場合にのみリソースへのアクセスが許可されます。
それを構成する方法は?

ご注意: ロールベースの制限機能は、Basic 認証 (ユーザー名: パスワード)、JWT 方式、OAuth 2.0 (パスワード付与) に有効です。
2. カスタムヘッダー:
この機能は、デフォルトのヘッダーの代わりにパーソナライズされたヘッダーを選択する機能を提供します。 「認可」 ヘッダー。これにより、カスタム設定に従ってヘッダーに名前を付けることができるため、セキュリティが強化されます。したがって、誰かがヘッダー名を付けたREST APIリクエストを送信しようとした場合、 「認可、' API へのアクセスが許可されます。
それを構成する方法は?

3. REST API を除外します。
この機能を使用すると、特定の REST API をホワイトリストとして指定し、認証を必要とせずに直接アクセスできるようになります。その結果、ホワイトリストに登録されたすべての REST API がパブリックにアクセス可能になります。
それを構成する方法は?

4. HMAC を使用してトークンの高度な暗号化を有効にします。
この機能は基本認証方式で提供されており、トークンは通常、デフォルトで Base64 エンコードを使用して暗号化されます。ただし、詳細オプションを使用すると、非常に安全な HMAC 暗号化方式を使用してトークンを暗号化できるため、非常に高いレベルのセキュリティが保証されます。

関連記事
プラグインのデモをリクエストする
フル機能のトライアル版を入手
ご返信ありがとうございます。すぐにご返信させていただきます。
何か問題が発生しました。 もう一度質問を送信してください

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