
WordPressメニューの’ユーザー > プロフィール‘ページには、’アプリケーションパスワード‘という項目があります。
特定のユーザーが外部プログラムを通じてWordPressにアクセスし、記事を作成または修正する必要がある場合、事前に設定したパスワードを確認するプロセスを経るように認証システムを構築することを目的としていますが、私自身は使うことはないと思っていました。しかし最近、’業務自動化’の観点から勉強しているうちに、これを使う必要が出てきました。WordPressアプリケーションパスワードの活用方法をMake.com自動化プロセスで呼び出すことを例に整理してみます。
パスワード生成
区別するための名前を定義し、’新しいアプリケーションパスワードを追加’ボタンを押します。

すると、下のようにパスワードが表示されます。このパスワードは一度だけ表示され、その後は確認する方法がないので、まずどこかにコピーしてから次の作業を行う必要があります。

下のように生成された日付だけ確認でき、廃棄することしかできない形式で一覧が表示されます。

BASE64エンコーディング
では、ユーザー名と生成されたパスワードを結合した文字列をエンコードします。パスワードを生成する際のユーザーIDが’admin’で、パスワードが’abcd efgh ijkl mnop’の場合、以下の文字列をエンコードすればよいです。
admin:abcd efgh ijkl mnop
エンコーディングを行うにはプログラミングを少し知っている必要があると思いますが、ChatGPTに以下のようにリクエストすればすぐにやってくれます。
以下をbase64エンコーディングしてください。
admin:abcd efgh ijkl mnop
エンコードされた文字列は以下のように表示されます。
YWRtaW46YWJjZCBlZmdoIGlqa2wgbW5vcA==
パスワード(エンコードされた文字列)の活用
私の場合はMake.comでWordPressをHTTPモジュールで呼び出し、何か記事を作成する目的で必要でした。
Makeモジュールの中にはWordPressの記事を作成・修正するためのモジュールが別にありますが、タイトル/内容/カテゴリー/ポストメタなどのモジュールで基本的に提供される項目以外の他の値(例:カスタムタクソノミーなど)もMakeで入力されるようにするためには、HTTPモジュールでWordPressのAPIを呼び出して必要な作業を指示する方法を使用することもできます。
下の図は既に作成されたポストにカスタムタクソノミーを修正しようとする画面の一部をキャプチャしたものです。ヘッダー部分に”Authorization:Basic エンコードされたパスワード”を記録することによって、WordPress APIを呼び出す際に事前に許可されたパスワードを渡すことになります。
もちろんBasic認証以外の方法もありますが、私の使用目的にはこれくらいで十分だと思います。
