基本認証を使用した WordPress REST API のセキュリティ保護ガイド
概要
REST API の WordPress 基本認証 ユーザー名とパスワード、またはクライアント認証情報から生成されたトークンを使用してAPIリクエストを検証することで、WordPressエンドポイントへのアクセスを保護します。この認証方法は、Webサービスとのやり取り時にユーザーのIDを確認し、承認されたユーザーのみがWordPress REST APIにアクセスできるようにします。
REST API を保護するために WordPress で基本認証を実装するにはどうすればよいですか?
WordPressのBasic Authプラグインは、Basic認証を使用してREST APIのセキュリティを確保します。この方法では、すべてのAPIリクエストで認証情報(ユーザー名またはメールアドレスとパスワード)がbase64でエンコードされ、WordPressサイトと外部アプリケーション間の安全な通信が確保されます。
WordPress REST API 認証

WordPress REST API認証プラグインは、WordPress REST APIへの不正アクセスからセキュリティを確保します。このプラグインは、Basic認証、APIキー認証、OAuth 2.0認証、JWT認証など、複数の認証方法を提供します。
詳細を見るWordPress REST API の基本認証を設定する方法
WP API Basic Authを設定するには、 WordPress REST API 認証プラグインこのプラグインにより、WordPress REST API は安全なアクセスのために基本認証資格情報を受け入れることができるようになります。
ステップバイステップガイド:
- ステップ1: プラグインをインストールする - WordPressプラグインリポジトリで「REST API Authentication for WP」を検索してインストールしてください。このプラグインは、サイトでREST API基本認証を有効にします。
- ステップ2:プラグインを有効化する - インストールしたら、WordPress ダッシュボードから「プラグイン」→「インストール済みプラグイン」に移動し、REST API 認証プラグインの横にある「有効化」をクリックしてプラグインを有効化します。
- ステップ3: 認証を構成する - プラグインの設定を開き、手順に従ってREST APIの基本認証を設定します。プラグインの設定ページに移動して、認証方法を設定します。
ユースケース: 基本認証を使用して WordPress REST API エンドポイントのセキュリティを強化するにはどうすればよいでしょうか?
1. WordPress REST API との安全なやり取りにユーザー名とパスワードを使用する
ユーザーが独自のフィードやブログを投稿できる Android または iOS アプリを開発している場合は、WordPress REST API との安全で認証されたやり取りを確保することが重要です。
ユーザー認証を安全に管理する方法:
- WordPress 基本認証を使用する: ユーザーのユーザー名とパスワードを使用して、WordPress Basic Authentication 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 ユーザー情報が保護された状態を保つことができます。
WordPress REST API 基本認証の設定手順
- 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 の制限:
この機能は、ユーザーロールに基づいてWordPress REST APIへのアクセスを制限します。特定のREST APIリソースへのアクセスを許可するロールをホワイトリストに登録できます。REST APIリクエストが行われると、ユーザーのロールがチェックされ、ホワイトリストに登録されている場合にのみアクセスが許可されます。
WordPress でロールベースの REST API 制限を構成する方法は?
- プラグインへ移動 詳細設定 タブには何も表示されないことに注意してください。
- 役割ベースの制限 セクションでは、すべてのロールがデフォルトで API にアクセスできるようになります。
- API へのアクセスを制限するロールの横にあるチェックボックスを有効にします。
- 上記の画像では、サブスクライバー ロールのチェックボックスが有効になっています。そのため、サブスクライバー ロールを持つユーザーが API リクエストを行うたびに、そのユーザーは要求されたリソースにアクセスできなくなります。
注意: ロールベースの制限機能は、Basic 認証 (ユーザー名: パスワード)、JWT 方式、OAuth 2.0 (パスワード付与) に有効です。
2. カスタムヘッダー:
カスタムヘッダー機能を使用すると、デフォルトの「Authorization」ヘッダーの代わりにカスタムヘッダーを使用できます。これにより、REST APIは定義したカスタムヘッダー名を持つリクエストのみを受け入れるため、セキュリティがさらに強化されます。デフォルトの「Authorization」ヘッダーを使用してリクエストを送信しようとした場合、アクセスは拒否されます。
WordPress REST API 認証用のカスタム ヘッダーを構成するにはどうすればよいでしょうか?
- プラグインへ移動 詳細設定 タブには何も表示されないことに注意してください。
- カスタムヘッダー セクションで、テキストボックスに希望するヘッダー名を入力します。
- 変更を保存して、API リクエストに新しいカスタム ヘッダーを適用します。
3. REST API を除外します。
REST APIを除外する機能を使用すると、特定のREST APIエンドポイントへの認証なしのアクセスを許可できます。除外されたAPIは公開され、トークンやログインなしでアクセスできるようになります。
JWT 認証で除外される REST API を構成するにはどうすればよいでしょうか?
- プラグインへ移動 詳細設定 タブには何も表示されないことに注意してください。
- REST APIを除外する セクションで、必要な形式で API エンドポイントを入力します。
- 入力された API は認証から除外され、パブリックアクセスが可能になります。
-
例: REST API を除外するとします。
「/wp-json/wp/v2/posts」の場合は、テキストボックスに「/wp/v2/posts」と入力する必要があります。
4. HMAC を使用してトークンの高度な暗号化を有効にします。
この機能はBasic認証方式で利用できます。デフォルトではトークンはBase64エンコードで暗号化されますが、詳細オプションではトークンにHMAC暗号化を有効にすることができます。HMACはより高いレベルのセキュリティを提供し、APIリクエストは改ざんや不正アクセスから強固に保護されます。
WordPress 基本認証でトークンの HMAC 暗号化を構成するにはどうすればよいでしょうか?
- プラグインへ移動 詳細設定 タブをクリックして開きます トークン暗号化方式 のセクションから無料でダウンロードできます。
- 選択する HMAC Base64 の代わりに、変更を保存してすべてのトークンに安全な暗号化を適用します。
よくある質問(FAQ)
WordPress の基本認証は安全ですか?
デフォルトでは、Basic認証はBase64エンコードを使用しますが、これは完全に安全とは言えません。しかし、当社のプラグインなどを使用することで、高度なHMAC暗号化を有効にすることができ、トークンのセキュリティを高め、本番環境での使用に適したものにすることができます。
JWT の代わりに Basic 認証を使用する必要があるのはどのような場合ですか?
Basic認証は、シンプルさが重視されるテスト、開発、または小規模アプリに最適です。トークンベースのセッションとスケーラビリティを必要とする大規模なアプリケーションには、JWTが推奨されます。
モバイルアプリ(Android/iOS)で基本認証を使用できますか?
はい。Basic 認証は、モバイル アプリのユーザー資格情報またはクライアント資格情報と組み合わせて使用することで、API リクエストを安全に検証できます。
基本認証を無効にするとどうなりますか?
無効にすると、REST APIエンドポイントはBasic認証によるリクエストの検証を停止します。これにより、APIが不正アクセスにさらされる可能性があるため、認証は常に有効にしておくことをお勧めします。
ユーザーロールに基づいて API アクセスを制限するにはどうすればよいですか?
ロールベースの制限機能を使用すると、REST API エンドポイントへのアクセスを許可または拒否する WordPress ロールを指定できます。
関連記事
プラグインのデモをリクエストする
フル機能のトライアル版を入手
ご返信ありがとうございます。近日中にご連絡させていただきます。
何か問題が発生しました。 もう一度質問を送信してください

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