認証
このガイドでは、アプリケーションパスワードと Postman を使用して SportsPress REST API へのリクエストを認証する方法を説明します。
GET リクエスト(データの読み取り)は認証不要です。POST・PUT・PATCH・DELETE 操作には認証が必要です。
前提条件:
SportsPress が有効化された WordPress インストール
管理者または編集者のユーザーアカウント
ステップ 1 — Postman のダウンロードとインストール
https://www.postman.com/downloads/ にアクセスしてデスクトップアプリケーションをダウンロードします。アカウント作成は任意です。インストール後にアプリを開き、アカウントを作成するか「アプリに進む」を選択します。[+] タブをクリックして新しいリクエストを作成します。
ステップ 2 — アプリケーションパスワードの生成
アプリケーションパスワードは WordPress 5.6 以降に組み込まれています。古いバージョンをお使いの場合は、https://wordpress.org/plugins/application-passwords/ からアプリケーションパスワードプラグインをインストールしてください。
WordPress 管理画面で ユーザー に移動します。
ユーザー名をクリックしてプロフィールを開きます。
アプリケーションパスワード セクションまでスクロールします。
パスワードの名前を入力します(例:「Postman」や「APIクライアント」)。
新しいアプリケーションパスワードを追加 をクリックします。
生成されたパスワードがモーダルに表示されます — すぐにコピーして安全な場所に保管してください。再表示はされません。
ステップ 3 — Postman で Basic 認証を設定する
Postman でリクエストを開きます。
Authorization タブをクリックします。
Type を Basic Auth に設定します。
Username フィールドに WordPress の ユーザー名 を入力します。
Password フィールドにステップ 2 で生成したアプリケーションパスワードを貼り付けます。
ステップ 4 — Content-Type ヘッダーを設定する
JSON ボディを送信する POST・PUT・PATCH リクエストには、以下のヘッダーを追加してください:
キー | 値 |
|
|
Postman の Headers タブに移動してこのキーと値のペアを追加します。
ステップ 5 — テストリクエストを送信する
まず認証不要の GET リクエストで接続を確認します:
GET https://example.com/wp-json/sportspress/v2/teams
次に書き込み操作をテストします。例えば、チームを更新する場合:
PUT https://example.com/wp-json/sportspress/v2/teams/123
JSON ボディ:
{
"title": "更新後のチーム名"
}200 OK レスポンスと更新されたオブジェクトが返れば、認証は正常に機能しています。
コードでの認証
サーバーサイドの連携では、username:application_password を Base64 エンコードした値を Authorization ヘッダーで渡します:
$response = wp_remote_post(
'https://example.com/wp-json/sportspress/v2/events',
array(
'headers' => array(
'Authorization' => 'Basic ' . base64_encode( 'username:application-password' ),
'Content-Type' => 'application/json',
),
'body' => json_encode( array(
'title' => '新しい試合',
'status' => 'publish',
) ),
)
);ブラウザで動作する JavaScript クライアントの場合は、Nonce を使ったクッキーベースの認証を使用してください。詳細は WP REST API v2 認証ガイドを参照してください。
